la proprietà XMLHttpRequest.readyState restituisce lo stato nel quale si trova il client di una richiesta XMLHttpRequest. Un client XHR si può trovare in uno degli stati seguenti:
0 |
UNSENT |
Il Client è stato creato, ma il metodo open() della XHR non è stato ancora invocato. |
1 |
OPENED |
Il metodo open() è stato invocato. |
2 |
HEADERS_RECEIVED |
Il metodo send() della XHR è stato invocato, e sono già disponibili lo status della risposta HTTP ed il suo header. |
3 |
LOADING |
Sta avvenendo il download dei dati; responseText contiene dati parziali. |
4 |
DONE |
L'operazione è stata completata. |
- UNSENT
- Il Client è stato creato, ma il metodo
open()
della XHR non è stato ancora invocato.
- OPENED
- Il metodo
open()
della XHR è stato invocato. In questo stato è possibile settare l' header della richiesta HTTP utilizzando il metodo setRequestHeader(); può essere invocato il metodo send(), che inizia il fetch della richiesta.
- HEADERS_RECEIVED
- Il metodo send() è stato invocato e sono stati ricevuto gli headers della risposta; è possibile conoscere il codice della risposta HTTP ed i suoi metadati.
- LOADING
- Sta avvenendo il download del body della risposta HTTP; se il
responseType
è "text" o vuoto, responseText
conterrà un testo parziale.
- DONE
- L'operazione di fetch è terminata; Questo può significare sia che il trasferimento dei dati è stato un successo e questi sono completamente disponibili o che è fallito.
The state names are different in Internet Explorer. Instead of UNSENT
, OPENED
, HEADERS_RECEIVED
, LOADING
and DONE, the names READYSTATE_UNINITIALIZED
(0), READYSTATE_LOADING
(1), READYSTATE_LOADED
(2), READYSTATE_INTERACTIVE
(3) and READYSTATE_COMPLETE
(4) are used.
var xhr = new XMLHttpRequest();
console.log('UNSENT', xhr.readyState);
xhr.open('GET', '/api', true);
console.log('OPENED', xhr.readyState);
xhr.onprogress = function () {
console.log('LOADING', xhr.readyState);
};
xhr.onload = function () {
console.log('DONE', xhr.readyState);
};
xhr.send(null);
Specification |
Status |
Comment |
XMLHttpRequest |
Living Standard |
WHATWG living standard |
Feature |
Chrome |
Edge |
Firefox (Gecko) |
Internet Explorer |
Opera |
Safari (WebKit) |
Basic support |
1 |
(Yes) |
1.0 (1.7 or earlier)[1] |
7 |
(Yes) |
1.2 |
Feature |
Android |
Chrome for Android |
Edge |
Firefox Mobile (Gecko) |
IE Mobile |
Opera Mobile |
Safari Mobile |
Basic support |
? |
1.0 |
(Yes) |
(Yes) |
? |
? |
? |