Tengo el siguiente JSON devuelto en una variable llamada datos.
ESTE ES EL JSON QUE SE DEVUELVE ...
[
{"Id": 10004, "PageName": "club"},
{"Id": 10040, "PageName": "qaz"},
{"Id": 10059, "PageName": "jjjjjjj"}
]
y estoy tratando de recorrer la colección usando $ .each pero me encuentro con problemas en los que la alerta se muestra indefinida. He probado muchas sintaxis diferentes, pero parece que no puedo entender esto.
El JQuery que estoy usando es
$.each(data, function(i, item) {
alert(item.PageName);
});
¿Alguien puede señalarme en la dirección correcta?
EDITAR Este es el código que estoy usando para tomar los datos
$.getJSON('/Cms/GetPages/123', null, function(data) {
fillSelect(data);
});
y esta es la función que se llama al devolver la llamada
function fillSelect(data) {
alert(data);
$.each(data, function(i, item) {
alert(item.PageName);
});
}
EDITAR 2 Esto me confunde un poco, de acuerdo con los documentos, debería funcionar como lo tengo, pero no lo hace. Según el violinista, el encabezado muestra: -
Content-Type: application/json; charset=utf-8
y el JSON es exactamente correcto arriba. Estoy usando Chrome si esto hace algo diferente. Se probará en IE y FF ...
EDITAR 3
usando $ .get produce
"[\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]"