Как сделать данные ответов JSON динамическими? - PullRequest
0 голосов
/ 06 мая 2011

У меня есть следующий код, который извлекает данные с помощью запроса JSON:

// Replace home page template wildcards with data from database (JSON)
$.getJSON("mvc/models/home.php?action=getpagecontent&&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 Ответ

1 голос
/ 06 мая 2011

Измените for на это:

for (var x = 0; x < data.length; x++) {  
  for(var prop in data[x]){
     $("."+prop).replaceWith(data[x][prop]);
  }
}  

Надеюсь, это поможет.Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...