XMLHttpRequest: Eigenschaft readyState
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.
Die schreibgeschützte Eigenschaft readyState der Schnittstelle XMLHttpRequest gibt den aktuellen Zustand eines XMLHttpRequest-Clients zurück. Ein XHR-Client befindet sich in einem der folgenden Zustände:
| Wert | Zustand | Beschreibung |
|---|---|---|
0 |
UNSENT |
Der Client wurde erstellt. open() wurde noch nicht aufgerufen. |
1 |
OPENED |
open() wurde aufgerufen. |
2 |
HEADERS_RECEIVED |
send() wurde aufgerufen; Header und Status sind verfügbar. |
3 |
LOADING |
Die Antwort wird heruntergeladen; responseText enthält Teildaten. |
4 |
DONE |
Der Vorgang ist abgeschlossen. |
- UNSENT
-
Der XMLHttpRequest-Client wurde erstellt, aber die Methode open() wurde noch nicht aufgerufen.
- OPENED
-
Die Methode open() wurde aufgerufen. In diesem Zustand können die Request-Header mit der Methode setRequestHeader() gesetzt werden. Außerdem kann die Methode send() aufgerufen werden, um den Abruf zu starten.
- HEADERS_RECEIVED
-
send() wurde aufgerufen, allen Weiterleitungen (falls vorhanden) wurde gefolgt und die Response-Header wurden empfangen.
- LOADING
-
Der Antwortkörper wird empfangen. Wenn
responseType„text“ oder eine leere Zeichenfolge ist, enthältresponseTextwährend des Ladens den bereits empfangenen Teil der Textantwort. - DONE
-
Der Abruf ist abgeschlossen. Das kann bedeuten, dass die Datenübertragung erfolgreich abgeschlossen wurde oder fehlgeschlagen ist.
Beispiel
const xhr = new XMLHttpRequest();
console.log("UNSENT", xhr.readyState); // readyState will be 0
xhr.open("GET", "/api", true);
console.log("OPENED", xhr.readyState); // readyState will be 1
xhr.onprogress = () => {
console.log("LOADING", xhr.readyState); // readyState will be 3
};
xhr.onload = () => {
console.log("DONE", xhr.readyState); // readyState will be 4
};
xhr.send(null);
Spezifikationen
| Spezifikation |
|---|
| XMLHttpRequest> # states> |