Tengo el siguiente JSON devuelto en una variable llamada datos.
Este es el JSON que obtiene DEVUELTO ...
[
{"Id": 10004, "PageName": "club"},
{"Id": 10040, "PageName": "qaz"},
{"Id": 10059, "PageName": "jjjjjjj"}
]
y yo estoy tratando de recorrer la colección usando $ .Cada pero estoy funcionando en problemas en los que la alerta está mostrando indefinido. He intentado mucha sintaxis diferente pero parece que no puedo resolver esto.
El jQuery que estoy usando es
$.each(data, function(i, item) {
alert(item.PageName);
});
¿Puede cualquiera que me señale en la dirección correcta?
EDITAR Este es el código que estoy utilizando para agarrar los datos
$.getJSON('/Cms/GetPages/123', null, function(data) {
fillSelect(data);
});
y esta es la función que es llamada a llamada de vuelta
function fillSelect(data) {
alert(data);
$.each(data, function(i, item) {
alert(item.PageName);
});
}
EDIT 2 Este me confunde un poco, de acuerdo con los documentos debería funcionar como lo tengo, pero no es así. De acuerdo con Fiddler la cabecera muestra: -
Content-Type: application/json; charset=utf-8
y el JSON es exactamente correcto arriba. Estoy usando Chrome si esto hace que sea diferente. Pondrá a prueba en IE y FF ....
EDITAR 3
usando $ .get produce
"[\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]"
Funciona para mí. Asegúrese de que los datos se pasen correctamente a cada método. – kgiannakakis