如何使用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未定义。

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

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

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

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

不要忘记传递数据类型参数以使其知道期望JSON,或者使用getJSON

您发布的JSON无效:

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

注意第二个UserID上的逗号。

默认情况下,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); }); }); 

查看此链接以获取Microsoft的推理(页面底部)。