Beim jQuery AJAX-Erfolgsrückruf möchte ich die Ergebnisse des Objekts durchlaufen. Dies ist ein Beispiel dafür, wie die Antwort in Firebug aussieht.
[
{"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
{"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
{"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]
Wie kann ich die Ergebnisse durchlaufen, um Zugriff auf jedes der Elemente zu erhalten? Ich habe so etwas wie unten versucht, aber das scheint nicht zu funktionieren.
jQuery.each(data, function(index, itemData) {
// itemData.TEST1
// itemData.TEST2
// itemData.TEST3
});
Antworten:
Sie können die äußere Schlaufe entfernen und ersetzen
this
durchdata.data
:Du warst nah:
Sie haben ein Array von Objekten / Karten, sodass die äußere Schleife über diese iteriert. Die innere Schleife durchläuft die Eigenschaften jedes Objektelements.
quelle
$(data)
wirddata
, verwenden Sie statt . Andernfalls gibt die Variablek
immer 0 zurück.Sie können auch die Funktion getJSON verwenden:
Dies ist wirklich nur eine Umformulierung der Antwort von ifesdjeen, aber ich dachte, es könnte für die Menschen hilfreich sein.
quelle
Wenn Sie Fire Fox verwenden, öffnen Sie einfach eine Konsole (verwenden Sie die Taste F12) und probieren Sie Folgendes aus:
ich hoffe es hilft
quelle
Für alle anderen, die daran festhalten, funktioniert es wahrscheinlich nicht, weil der Ajax-Aufruf Ihre zurückgegebenen Daten als Text interpretiert - dh es ist noch kein JSON-Objekt.
Sie können es in ein JSON-Objekt konvertieren, indem Sie den Befehl parseJSON manuell verwenden oder einfach die Eigenschaft dataType: 'json' zu Ihrem Ajax-Aufruf hinzufügen. z.B
quelle
Uncaught TypeError: Cannot use 'in' operator to search for '188' in
diesen Fehler bekommen.Greifen Sie wie bei jedem anderen Array auf das JSON-Array zu.
quelle
[0]
der nächste[1]
und so weiter.Folgendes habe ich mir ausgedacht, um alle Datenwerte einfach anzuzeigen:
quelle
Probieren Sie die Funktion jQuery.map aus, die ziemlich gut mit Karten funktioniert.
quelle
Wenn Sie keine Warnung wünschen, das heißt, Sie möchten HTML, dann tun Sie dies
HINWEIS: Verwenden Sie "Anhängen" und nicht "HTML". Andernfalls wird das letzte Ergebnis in Ihrer HTML-Ansicht angezeigt
dann sollte Ihr HTML-Code so aussehen
Sie können das div auch in der jquery formatieren (Klasse hinzufügen), bevor es als HTML gerendert wird
quelle
Wenn Sie die unten gezeigte kurze Methode der JQuery-Ajax-Aufruffunktion verwenden, müssen die zurückgegebenen Daten als JSON-Objekt interpretiert werden, damit Sie eine Schleife durchführen können.
quelle
Ich bin Teil der ES2015-Pfeilfunktion zum Finden von Werten in einem Array
Kasse Array.prototype.find () HIER
quelle
$each
wird funktionieren .. Eine andere Option ist jQuery Ajax Callback für das Array-Ergebnisquelle
Ich benutze .map für foreach. Beispielsweise
quelle