XMLHttpRequest.readyState

La propriété XMLHttpRequest.readyState renvoie l'état dans lequel se trouve un client XMLHttpRequest.Un client XHR existe dans l'un des états suivants :

Value State Description
0 UNSENT Le client a été créé. open() n'a pas encore été appelé.
1 OPENED open()a été appelé.
2 HEADERS_RECEIVED send() a été appelé, et les en-têtes et le statut sont disponibles.
3 LOADING Téléchargement; responseText contient des données partielles.
4 DONE L'opération est terminée.
UNSENT

Le client XMLHttpRequest a été créé, mais la méthode open() n'a pas encore été appelée.

OPENED

La méthode open() a été invoquée. Pendant cet état, les en-têtes de requête peuvent être définis à l'aide de la méthode setRequestHeader() et la méthode send() peut être appelée, ce qui lancera la récupération.

HEADERS_RECEIVED

send() a été appelé et les en-têtes de réponse ont été reçus

LOADING

Le corps de la réponse est en cours de réception. Si responseType (en-US) is "text" ou une chaîne vide, responseText aura la réponse textuelle partielle au fur et à mesure de son chargement.

DONE

L'opération de récupération est terminée. Cela peut signifier que le transfert de données a été effectué avec succès ou a échoué.

Note : Les noms des états sont différents dans les versions d'Internet Explorer antérieures à 11. Au lieu de UNSENT, OPENED, HEADERS_RECEIVED, LOADING et DONE, les noms READYSTATE_UNINITIALIZED (0), READYSTATE_LOADING (1), READYSTATE_LOADED (2), READYSTATE_INTERACTIVE (3) et READYSTATE_COMPLETE (4) sont utilisés.

Exemple

js
var 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 = function () {
  console.log("LOADING", xhr.readyState); // readyState will be 3
};

xhr.onload = function () {
  console.log("DONE", xhr.readyState); // readyState will be 4
};

xhr.send(null);

Spécifications

Specification
XMLHttpRequest Standard
# states

Compatibilité des navigateurs

BCD tables only load in the browser