XMLHttpRequest
имеет 5 readyState
с, и я использую только 1 из них (последний, 4
).
Для чего нужны другие и в каких практических приложениях я могу их использовать?
XMLHttpRequest
имеет 5 readyState
с, и я использую только 1 из них (последний, 4
).
Для чего нужны другие и в каких практических приложениях я могу их использовать?
Полный список readyState
значений:
State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
(с https://www.w3schools.com/js/js_ajax_http_response.asp )
На практике вы почти никогда не используете ни один из них, кроме 4.
Некоторые XMLHttpRequest реализация может позволить вам увидеть частично полученные ответы в responseText
когда readyState==3
, но это не поддерживается всем и не следует полагаться.
Кирон «s ответ содержит w3schools реф. на который никто не полагается, ответ bobince дает ссылку, которая фактически говорит о собственной реализации IE,
Итак, вот исходная документация, цитируемая, чтобы правильно понять, что представляет собой readystate:
Прочтите, пожалуйста, здесь: W3C Объяснение ReadyState
источник
Оригинальная полная документация
0
,1
и2
только отслеживать, сколько из необходимых методов для выполнения запроса вы уже вызвали.3
сообщает вам, что начал поступать ответ сервера. Но когда вы используетеXMLHttpRequest
объект с веб-страницы, вы почти ничего не можете (*) сделать с этой информацией, поскольку у вас нет доступа к расширенным свойствам, которые позволяют вам читать частичные данные.readyState
4
- единственное, что имеет какое-либо значение.(*: о единственном возможном использовании, которое я могу придумать для проверки readyState,
3
- это то, что он сигнализирует о какой-то форме жизни на стороне сервера, поэтому вы могли бы увеличить количество времени, в течение которого вы ждете полного ответа, когда вы его получите.)источник
onreadystatechange Сохраняет функцию (или имя функции), которая будет автоматически вызываться каждый раз при изменении свойства readyState. readyState Сохраняет состояние XMLHttpRequest. Меняется с 0 на 4:
0: запрос не инициализирован
1: соединение с сервером установлено
2: запрос получен
3: обработка запроса
4: запрос завершен и готов ответ
статус 200: «ОК»
404 Страница не найдена
источник
(Из https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState)
источник