dataという変数に次のJSONが返されます。
これは返されるJSONです...
[
{"Id": 10004, "PageName": "club"},
{"Id": 10040, "PageName": "qaz"},
{"Id": 10059, "PageName": "jjjjjjj"}
]
$ .eachを使用してコレクションをループしようとしていますが、アラートが未定義と表示されている問題が発生しています。私は多くの異なる構文を試しましたが、これを理解できないようです。
私が使用している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 これは私をわずかに混乱させます、ドキュメントによると、それは私が持っているように機能するはずですが、そうではありません。フィドラーによると、ヘッダーは示しています:-
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]"