Mam następujące JSON zwrócone w zmiennej o nazwie dane.
TO JEST JSON, który zostanie zwrócony ...
[
{"Id": 10004, "PageName": "club"},
{"Id": 10040, "PageName": "qaz"},
{"Id": 10059, "PageName": "jjjjjjj"}
]
i próbuję pętli kolekcji za pomocą $ .each ale używam do problemu gdzie alert pokazuje niezdefiniowany. Próbowałem wielu różnych składni, ale nie mogę tego zrozumieć.
jQuery Używam jest
$.each(data, function(i, item) {
alert(item.PageName);
});
Może ktoś mi punkt w dobrym kierunku?
EDIT Jest to kod używam aby pobrać dane
$.getJSON('/Cms/GetPages/123', null, function(data) {
fillSelect(data);
});
i jest to funkcja, która zostanie wezwany oddzwonienie
function fillSelect(data) {
alert(data);
$.each(data, function(i, item) {
alert(item.PageName);
});
}
EDIT 2 ten trochę mnie myli, według dokumentów powinien działać tak jak ja, ale tak nie jest. Według skrzypka nagłówek pokazuje: -
Content-Type: application/json; charset=utf-8
, a JSON jest dokładnie poprawny powyżej. Używam chrome, jeśli robi to inaczej. Przetestuje w IE i FF ....
EDIT 3
użyciu $ .get produkuje
"[\r\n {\r\n \"Id\": 10041,\r\n \"PageName\": \"\",\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]"
To działa dla mnie. Upewnij się, że dane są poprawnie przekazywane do każdej metody. – kgiannakakis