2012-03-13 119 views
0

我调用AjaxAJAX调用返回列表

 $.ajax({ 
      url: urpath, 
      type: 'POST', 
      dataType: 'json', 
      data: JSON.stringify(json), 
      contentType: 'application/json; charset=utf-8', 
      success: function (data) { 
         alert(data); 
        }, 
      error: error 
    }); 

返回的数据是具有2列的列表。如何迭代列表并显示数据。当我提醒(数据)它只是说对象对象?

回答

4

使用fon-in循环:

for (var i in data){ 
    // data[i].something, etc 
} 

因此,这里是你的代码应该是这样:

$.ajax({  
    url: urpath, 
    type: 'POST', 
    dataType: 'json', 
    data: JSON.stringify(json), 
    contentType: 'application/json; charset=utf-8', 
    success: function (data) { 
    for (var i in data){ 
     // data[i].something, etc 
    } 
    }, 
    error: error // assuming error is function 
}); 
1

如果JSON确实含有2个这类似的对象列表:

[{"prop1":"value1", "prop2":"value2"}, {"prop1":"value3", "prop2":"value4"}] 

你可以使用$ .each方法遍历它们并在回调中this变量将指向列表中的每个元素,并且您可以访问各个属性:

$.each(data, function() { 
    alert('prop1=' + this.prop1 + ', prop2=' + this.prop2); 
});