Свойство XMLHttpRequest.readyState возвращает текущее состояние объекта XMLHttpRequest. Объект XHR может иметь следующие состояния:
0 |
UNSENT |
Объект был создан. Метод open() ещё не вызывался. |
1 |
OPENED |
Метод open() был вызван. |
2 |
HEADERS_RECEIVED |
Метод send() был вызван, доступны заголовки (headers) и статус. |
3 |
LOADING |
Загрузка; responseText содержит частичные данные. |
4 |
DONE |
Операция полностью завершена. |
- UNSENT
- Объект XMLHttpRequest был создан, но метод
open()
ещё не вызывался.
- OPENED
- Был вызван метод open(). На этом этапе методом setRequestHeader() могут быть установлены заголовки запроса (request headers), после чего для начала выполнения запроса может быть вызван метод send() .
- HEADERS_RECEIVED
- Был вызван метод send() и получены заголовки ответа (response headers) .
- LOADING
- Получена часть ответа. Если
responseType
- это пустая строка или имеет значение "text", responseText
будет содержать загруженную порцию текста ответа.
- DONE
- Операция доставки данных завершена. Это может означать как то, что передача данных полностью завершена успешно, так и то, что произошла ошибка.
Названия состояний отличаются в версиях Internet Explorer ранее 11. Вместо UNSENT
, OPENED
, HEADERS_RECEIVED
, LOADING
и DONE, используются названия READYSTATE_UNINITIALIZED
(0), READYSTATE_LOADING
(1), READYSTATE_LOADED
(2), READYSTATE_INTERACTIVE
(3) и READYSTATE_COMPLETE
(4).
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);
Спецификация |
Статус |
Комментарии |
XMLHttpRequest |
Живой стандарт |
Действующий стандарт WHATWG |
Свойство |
Chrome |
Firefox (Gecko) |
Internet Explorer |
Opera |
Safari (WebKit) |
Базовая поддержка |
1 |
1.0 (1.7 или ранее)[1] |
7 |
(Да) |
1.2 |
Свойство |
Android |
Chrome для Android |
Firefox Mobile (Gecko) |
IE Mobile |
Opera Mobile |
Safari Mobile |
Базовая поддержка |
? |
1.0 |
(Да) |
? |
? |
? |