Я пытаюсь включить внешние ключи в свои таблицы, полученные из базы данных. Одно из решений, которое я придумала, - это получить все данные и сохранить их в глобальной переменной, чтобы затем использовать там, где они нужны.
Я попытался использовать get в текущем get, который у меня есть, хотя я уверен, что это не лучший способ сделать это, поскольку я получал бы те же данные 2-3 раза в зависимости от таблицы.называется.
Я получаю ошибку:
"js.js: 205 Uncaught TypeError: Невозможно установить свойство 'R1000002' не определено", строка 205 находится в первом фрагменте ("fk_RouteStations[element.ROUTE_ID] = element;"
)
params = {
headers: {
"content-type": "application/json; charset=UTF-8",
"Access-Control-Allow-Origin": "*"
}
}
$.ajax({
url: "...",
type: "GET",
data: params,
success: function(result) {
result.forEach(function(element) {
fk_RouteStations[element.ROUTE_ID] = element;
})
console.log("Got ROUTE_STATIONS Data");
}
}).fail(console.log("Failed to get ROUTE_STAITONS Data"));
//foreign keys
var fk_customer;
var fk_trains;
var fk_routes;
var fk_tickets;
var fk_carriages;
var fk_RouteStations;
var fk_staff;
var fk_stations;
else if (currentTable == "ROUTES") {
var url = '...';
var id = document.getElementById("searchField").value;
const URL = url.concat(id);
const params = {
headers: {
"content-type": "application/json; charset=UTF-8",
"Access-Control-Allow-Origin": "*"
}
};
console.log("Getting Routes Data");
$.ajax({
url: URL,
type: "GET",
data: params,
success: function(result) {
$("resultsDisplay").text("Got Results");
//var fk_routes = JSON.stringify(result);
var string = "<table><tr><th>ID</th><th>Price Per Stop</th><th>Route_stations</th><th>Tickets</th><th>Trains</th></tr>";
console.log("Running results")
if (id == "") {
console.log("Displaying results as array");
for (i = 0; i < result.length; i++) {
string += "<tr><td>" + result[i].ROUTE_ID + "</td><td>" + result[i].PRICEPERSTOP + "</td></tr>";
}
string += "</table>";
document.getElementById("tables").innerHTML = string;
document.getElementById("loadingPrompt").style.display = "none";
} else {
console.log("Displaying results as object")
string += "<tr><td>" + result.ROUTE_ID + "</td><td>" + result.PRICEPERSTOP + "</td><td>" + fk_RouteStations[element].ROUTE_ID + "</td><td>" + "fk_tickets[0,1]" + "</td><td>" + "TRAINS" + "</td></tr>";
string += "</table>";
document.getElementById("tables").innerHTML = string;
document.getElementById("loadingPrompt").style.display = "none";
}
makeSelectable();
}
}).fail(function() {
document.getElementById("tables").innerHTML = "User not found";
});
Ожидаемый вывод для таблицы для правильного отображения внешних ключей.