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

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