如何使JSON响应数据动态化?

时间:2011-05-06 08:46:12

标签: jquery json

我有以下代码,它使用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 个答案:

答案 0 :(得分:1)

将您的for更改为:

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

希望这会有所帮助。干杯