如何使用jQuery循环我的Json响应?

时间:2009-07-30 18:00:56

标签: c# asp.net jquery json

我的Json回复如下:

[{"UserID": 1}, {"UserID", 324}]

我调用页面来获取json:

$.get("myurl.aspx", {blah:1}, function(data) {

       $.each(data.items, function(i, item) {
             alert(item.UserID);

       });

});

Firebug正在报告错误:

G未定义。

5 个答案:

答案 0 :(得分:6)

我认为你想要这个,因为你的数据var没有名为items的属性:

$.each(data, function(i, item) {
     alert(item.UserID);
});

答案 1 :(得分:2)

您的响应似乎不是真正的JSON对象。请注意,您的回复中有一个逗号而不是冒号。

如果这只是一个拼写错误,请检查Firebug控制台中的请求和响应(在“网络”选项卡上),以查看正在向myurl.aspx页面发送的数据。您应该看到您的AJAX请求以及发送回您页面的数据。

答案 2 :(得分:2)

不要忘记将数据类型参数传递给get,以便它知道期望JSON,或者使用getJSON

答案 3 :(得分:1)

您发布的JSON无效:

[{"UserID": 1}, {"UserID", 324}]

注意第二个UserID上的逗号。

答案 4 :(得分:1)

默认情况下,ASP.Net将JSON对象封装在另一个名为“d”的对象中。您的回答如下:

{"d": [{"UserID": 1}, {"UserID": 324}]}

试试这个:

$.get("myurl.aspx", {blah:1}, function(data) {

   $.each(data.d, function(i, item) {
         alert(item.UserID);
   });
});

查看this link了解Microsoft的推理(页面底部。)