如何使用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的推理(页面底部)。