Sur le rappel de succès jQuery AJAX, je veux faire une boucle sur les résultats de l'objet. Voici un exemple de l'apparence de la réponse dans Firebug.
[
{"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
{"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
{"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]
Comment puis-je boucler les résultats pour avoir accès à chacun des éléments? J'ai essayé quelque chose comme ci-dessous mais cela ne semble pas fonctionner.
jQuery.each(data, function(index, itemData) {
// itemData.TEST1
// itemData.TEST2
// itemData.TEST3
});
Réponses:
vous pouvez retirer la boucle extérieure et la remplacer
this
pardata.data
:Vous étiez proche:
Vous avez un tableau d'objets / cartes de sorte que la boucle externe les répète. La boucle interne itère sur les propriétés de chaque élément d'objet.
la source
$(data)
place dedata
, sinon la variablek
renvoie toujours 0.Vous pouvez également utiliser la fonction getJSON :
Ce n'est vraiment qu'une reformulation de la réponse d'ifesdjeen, mais j'ai pensé que cela pourrait être utile pour les gens.
la source
Si vous utilisez Fire Fox, ouvrez simplement une console (utilisez la touche F12) et essayez ceci:
J'espère que ça aide
la source
Pour quiconque est coincé avec cela, cela ne fonctionne probablement pas parce que l'appel ajax interprète vos données renvoyées comme du texte - c'est-à-dire que ce n'est pas encore un objet JSON.
Vous pouvez le convertir en objet JSON en utilisant manuellement la commande parseJSON ou en ajoutant simplement la propriété dataType: 'json' à votre appel ajax. par exemple
la source
Uncaught TypeError: Cannot use 'in' operator to search for '188' in
obtenir cette erreur.Accédez au tableau json comme vous le feriez pour n'importe quel autre tableau.
la source
[0]
la suivante[1]
, et ainsi de suite.Voici ce que j'ai proposé pour afficher facilement toutes les valeurs de données:
la source
Essayez la fonction jQuery.map , fonctionne plutôt bien avec les cartes.
la source
si vous ne voulez pas d'alerte, c'est que vous voulez du html, alors faites ceci
REMARQUE: utilisez "append" et non "html" sinon le dernier résultat est ce que vous verrez sur votre vue html
alors votre code html devrait ressembler à ceci
Vous pouvez également styliser (ajouter une classe) le div dans la jquery avant qu'il ne soit rendu au format HTML
la source
Si vous utilisez la méthode courte de la fonction d'appel ajax JQuery comme indiqué ci-dessous, les données renvoyées doivent être interprétées comme un objet json pour que vous puissiez effectuer une boucle.
la source
Je suis partial à la fonction de flèche ES2015 pour trouver des valeurs dans un tableau
Commander Array.prototype.find () ICI
la source
$each
fonctionnera .. Une autre option est jQuery Ajax Callback pour le résultat du tableaula source
J'utilise .map pour foreach. Par exemple
la source