2 Stimmen

Was sind die zurückgegebenen Parameter in der jQuery ajax Erfolg Option?

JQuery Dokumentation zeigt an, dass Folgendes zurückgegeben wird:

success(data, textStatus, XMLHttpRequest)Funktion

Eine Funktion, die aufgerufen wird, wenn die Anfrage erfolgreich ist. Der Funktion werden drei Argumente übergeben: Die zurückgegebenen Daten vom Server zurückgegebenen Daten, formatiert gemäß dem Parameter 'dataType' formatiert; eine Zeichenkette die den Status beschreibt; und das XMLHttpRequest-Objekt. Dies ist ein Ajax Ereignis.

Ich habe nur den Parameter "data" verwendet. Was ist der Zweck von "textStatus"?...ich erhalte "undefined", wenn ich diese Variable in eine Meldung einfüge (innerhalb der Erfolgsfunktion) Was kann ich von der XMLHttpRequest erhalten und wie kann ich darauf zugreifen?

Danke

2voto

bobince Punkte 512550

Sie könnten die XMLHttpRequest Objekt zu erhalten. Antwort-Kopfzeilen die der Server gesendet hat. Dies ist von begrenztem Nutzen für Dienste, die Sie kontrollieren, da es in der Regel besser ist, alle Informationen im JSON oder XML des Antwortkörpers zurückzugeben, aber es könnte nützlich sein, um mit Diensten zu kommunizieren, über deren Schnittstellen Sie keine Kontrolle haben, die nützliche Informationen in die Header stellen.

Le site textStatus kann für einen Fehler-Callback von Nutzen sein, der Ihnen mitteilt, wie weit die Anfrage gekommen ist. Bei einer erfolgreichen Anfrage würde er jedoch nur mitteilen, ob der Server eine 200 OK Antwort (in diesem Fall sollten Sie 'success' ) oder ob Sie eine 304 Not Modified und stattdessen der Körper aus dem Browser-Cache zurückgegeben (in diesem Fall sollte es 'notmodified' . Es ist höchst unwahrscheinlich, dass dies nützlich ist.

2voto

Jonathon Faust Punkte 12196

Selon este Mögliche Werte für textStatus sind:

"timeout"
"error"
"notmodified"
"success"
"parsererror"

Ich glaube, wenn Sie in der success Rückruf, werden Sie immer nur die "success" textStatus. Ich bin mir nicht sicher, warum Sie sehen würden undefined .

Der XMLHttpRequest enthält Informationen auf niedrigerer Ebene, die Sie in der Regel nicht benötigen, z. B. den Antwortstatus und die für die Ajax-Anfrage verwendeten Parameter. Normalerweise ist alles, was Sie interessiert, die data Parameter, der vom XMLHttpRequest-Objekt selbst abgeleitet ist. Die übrigen Methoden und Eigenschaften von XMLHttpRequest finden Sie unter este Seite.

1voto

Nick Larsen Punkte 18217

Der testStatus bezieht sich auf AJAX readyStates, die Sie hier nachlesen können ici . Ich bin mir nicht ganz sicher, warum es als undefiniert erscheint. Ich bin nicht 100 % verwendet, um AJAX mit jQuery, jedoch während einer handgefertigten Ajax-Aufruf, Ihre Rückgabe-Funktion wird eine Reihe von Zeiten, mit unterschiedlichen Statuscodes aufgerufen werden.

Der XMLHttpRequest gibt Ihnen das eigentliche Objekt zurück, das den asynchronen Aufruf tätigt.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X