XMLHttpRequest.readyState
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Свойство 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); // readyState будет равно 0
xhr.open("GET", "/api", true);
console.log("OPENED", xhr.readyState); // readyState будет равно 1
xhr.onprogress = function () {
console.log("LOADING", xhr.readyState); // readyState будет равно 3
};
xhr.onload = function () {
console.log("DONE", xhr.readyState); // readyState будет равно 4
};
xhr.send(null);
Спецификации
Specification |
---|
XMLHttpRequest Standard # states |
Совместимость с браузерами
BCD tables only load in the browser