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 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é.

Les noms des États sont différents dans les versions d'Internet Explorer antérieures à 11. Au lieu de UNSENT, OPENED, HEADERS_RECEIVED, LOADING and DONE, the names 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);

Specifications

Specification Statut Comment
XMLHttpRequest Standard évolutif WHATWG living standard

Compatibilité des navigateurs

BCD tables only load in the browser