2010-08-31 6 views
1

je un jeu de résultats que lorsque j'utilise json_encode() en php, renvoie les éléments suivantsLooping par tableau JSON - Mise en forme correctement

[ 
{"id":"1","name:","value"}, 
{"id":"2","name:","value"}, 
{"id":"3","name:","value"}, 
{"id":"4","name:","value"} 
] 

Je puis en utilisant jQuery pour essayer de boucle à travers ceci:

$.each(data, function(index, itemData){ 
    alert(itemData.id); 
} 

Le problème est qu'il obtient seulement le premier enregistrement (id: 1).

Est-ce que je fais quelque chose de mal?

Répondre

5

Cela fonctionne pour moi, corriger quelques-unes de vos fautes de frappe:

var test = [{"id":"1","name":"value"},{"id":"2","name":"value"}]; 

$.each(test, function(index, itemData){ 
    alert(itemData.id); 
}); 
+0

+1 - battement moi à ça ... la faute de frappe est la cause! –

+0

Je dois être aveugle ... où sont les fautes de frappe? –

+0

Salut, '" nom: "," valeur "' au lieu de '" nom ":" valeur "' –

0

Ceci est un exmaple de base sur la façon d'utiliser la réponse JSON d'une requête AJAX:

$.getJSON("http://example.com", 
function(data){ 
    $.each(data.items, function(i,item){ 
    // do something 
    }); 
}); 
+0

Cela ne répond pas vraiment à la question. Les données JSON contenaient une faute de frappe - la boucle 'each' était correcte. –

+0

Il pourrait avoir un point cependant, j'étais sur le point de taper une réponse similaire. IIRC, en utilisant '$ .get' au lieu de' $ .getJSON' m'a causé ce problème il y a quelques semaines. –