Frage

XMLHttpRequest hat 5 readyStates, und ich verwende nur 1 von ihnen (die letzten, 4).

Was sind die anderen für, und welche praktischen Anwendungen kann ich sie in?

War es hilfreich?

Lösung

Die vollständige Liste der readyState Werte ist:

State  Description
0      The request is not initialized
1      The request has been set up
2      The request has been sent
3      The request is in process
4      The request is complete

(von https://www.w3schools.com/js/js_ajax_http_response.asp)

In der Praxis Sie fast nie irgendwelche von ihnen verwenden, außer für 4 Personen.

Einige XMLHttpRequest Implementierungen können Sie teilweise empfangenen Antworten in responseText sehen lassen, wenn readyState==3, aber dies nicht allgemein unterstützt und sollten nicht als verlässlich angesehen werden.

Andere Tipps

kieron 's Antwort w3schools ref enthält. zu denen niemand verlassen, bobince 's Antwort gibt Link, der von IE native Implementierung sagt eigentlich,

so ist hier die Original-Dokumentation zitiert zu Recht zu verstehen, was Readystate repräsentiert:

  

Das XMLHttpRequest-Objekt kann in mehreren Zuständen befinden. Das Readystate-Attribut muss den aktuellen Zustand zurück, der einen der folgenden Werte sein muß:

     

UNSENT (numerischer Wert 0)
     Das Objekt wird gebaut.

     

GEÖFFNET (numerischer Wert 1)
     Die open () Methode wurde erfolgreich aufgerufen. Während dieses Zustands-Request-Header gesetzt werden kann setRequestHeader () verwenden und die Anforderung kann mit der Methode send () gemacht werden.

     

HEADERS_RECEIVED (numerischer Wert 2)
     Alle Umleitungen (falls vorhanden) wurden gefolgt und alle HTTP-Header der endgültigen Antwort empfangen wurden. Mehrere Reaktionsteile des Objekts sind jetzt verfügbar.

     

LADEN (numerischer Wert 3)
     Die Antwort Entitätskörpers empfangen wird.

     

DONE (numerischer Wert 4)
     Die Datenübertragung abgeschlossen ist oder etwas schief gelaufen ist während der Übertragung (z unendliche Umleitungen).

Bitte lesen Sie hier: W3C Explaination Von Readystate

ursprüngliche endgültige Dokumentation

0, 1 und 2 nur verfolgen, wie viele der notwendigen Methoden, um eine Anfrage machen Sie bisher genannt habe.

3 sagen Ihnen, dass die Antwort des Servers zu kommen begonnen hat. Aber wenn man das XMLHttpRequest Objekt von einer Webseite verwenden gibt es fast nichts (*) Sie mit dieser Information zu tun, da Sie haben keinen Zugang die erweiterten Eigenschaften, die Ihnen die Teildaten lesen lassen.

Readystate 4 ist die einzige, die eine Bedeutung hält.

(*: über die einzig denkbare Anwendung ich für die Überprüfung für Readystate 3 denken kann, ist, dass es irgendeine Form von Leben Signale auf der Serverseite, so dass Sie möglicherweise die Zeit, erhöhen könnten Sie für eine vollständige Antwort warten, wenn Sie erhält es.)

onreadystatechange Speichert eine Funktion (oder der Name einer Funktion), um automatisch jedes Mal, wenn die Readystate-Eigenschaft ändert aufgerufen werden Hält Readystate den Status des XMLHttpRequest. Änderungen 0-4:

0: Anforderung nicht initialisiert

1: Server-Verbindung hergestellt

2: Anforderung empfangen

3: Verarbeitungsanforderung

4: fordern fertig und Antwort bereit ist,

Status 200: "OK"

404: Seite nicht gefunden

  • 0: UNSENT-Client erstellt wurde. open () noch nicht genannt.
  • 1:. GEÖFFNET open () aufgerufen wurde
  • 2: HEADERS_RECEIVED send () aufgerufen wurde, und Kopf- und Status zur Verfügung stehen.
  • 3: LADE Herunterladen; response hält Teildaten.
  • . 4: DONE Der Vorgang abgeschlossen ist

(Von https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top