#jquery #json
#jquery #json
Вопрос:
У меня есть следующий код, который извлекает данные с помощью запроса JSON:
// Replace home page template wildcards with data from database (JSON)
$.getJSON("mvc/models/home.php?action=getpagecontentamp;amp;jsoncallback=?", function(data) {
// Set markup identifiers
var identifiers = new Array();
identifiers[0] = "introheader1";
identifiers[1] = "introtext1";
// Replace markup on page
for (var x = 0; x < data.length; x ) {
if (data[x].introheader1 != undefined){
$(".introheader1").replaceWith(data[x].introheader1);
}
if (data[x].introtext1 != undefined){
$(".introtext1").replaceWith(data[x].introtext1);
}
}
});
Это работает нормально, но доставляет неудобства, если возвращается много элементов. Итак, вместо этого для каждого элемента:
if (data[x].introheader1 != undefined){
$(".introheader1").replaceWith(data[x].introheader1);
}
Я хочу сделать его динамичным, заменив жестко закодированные значения значениями из массива идентификаторов, вот так, чтобы у меня был только один, и я мог выполнять цикл:
if (data[x].identifiers[0] != undefined){
$("." identifiers[0]).replaceWith(data[x].identifiers[0]);
}
Но это выдает ошибку при замене «data [x].». Как я могу это сделать? Спасибо!
Комментарии:
1. Не по теме: Что с
amp;amp;
в URL? Я думаю, 1amp;
достаточно.
Ответ №1:
Измените свой for
на этот:
for (var x = 0; x < data.length; x ) {
for(var prop in data[x]){
$("." prop).replaceWith(data[x][prop]);
}
}
Надеюсь, это поможет. Приветствия