最佳答案
我在一个名为 data 的变量中返回了以下 JSON。
这是归还的 JSON..。
[
{"Id": 10004, "PageName": "club"},
{"Id": 10040, "PageName": "qaz"},
{"Id": 10059, "PageName": "jjjjjjj"}
]
我尝试使用 $来遍历这个集合。但我遇到的问题,其中警报显示未定义。我尝试了很多不同的语法,但似乎无法解决这个问题。
我使用的 JQuery 是
$.each(data, function(i, item) {
alert(item.PageName);
});
有人能给我指明正确的方向吗?
剪辑 这是我用来获取数据的代码
$.getJSON('/Cms/GetPages/123', null, function(data) {
fillSelect(data);
});
这是在回调时被调用的函数
function fillSelect(data) {
alert(data);
$.each(data, function(i, item) {
alert(item.PageName);
});
}
编辑2 这让我有点困惑,根据文件,它应该像我一样工作,但它没有。根据 Fiddler 的说法,标题显示:-
Content-Type: application/json; charset=utf-8
上面的 JSON 是完全正确的。我使用铬,如果这使任何不同。将测试在 IE 和 FF... 。
编辑3
使用 $. get 生产
"[\r\n {\r\n \"Id\": 10041,\r\n \"PageName\": \"01234567890\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n },\r\n {\r\n \"Id\": 10001,\r\n \"PageName\": \"about\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 1\r\n },\r\n {\r\n \"Id\": 10056,\r\n \"PageName\": \"fdgdfgdfg\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 1\r\n },\r\n {\r\n \"Id\": 10052,\r\n \"PageName\": \"hjkhjk\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n },\r\n {\r\n \"Id\": 10059,\r\n \"PageName\": \"jjjjjjj\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 1\r\n },\r\n {\r\n \"Id\": 10057,\r\n \"PageName\": \"qqqqq\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n },\r\n {\r\n \"Id\": 10054,\r\n \"PageName\": \"qwqw\",\r\n \"MetaId\": 1000,\r\n \"TemplateId\": 2\r\n }\r\n]"