Відповіді:
Повний список 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 реф. на яку ніхто не покладається, відповідь Бобінса дає посилання, яке фактично говорить про власну реалізацію IE,
тому ось наведена оригінальна документація, щоб правильно зрозуміти, що являє собою готовий стан:
Об'єкт XMLHttpRequest може бути в декількох станах. Атрибут ReadyState повинен повернути поточний стан, який повинен бути одним із наступних значень:
UNSENT (числове значення 0)
Об'єкт побудований.OPENED (числове значення 1)
Метод open () був успішно викликаний. Під час цього стану запити заголовків можуть бути встановлені за допомогою setRequestHeader (), а запит може бути зроблений за допомогою методу send ().HEADERS_RECEIVED (числове значення 2)
Усі переадресації (якщо такі є) виконані, і всі заголовки HTTP остаточної відповіді отримано. Зараз доступні кілька членів об'єкта відповідей.ЗАВАНТАЖЕННЯ (числове значення 3)
Отримано тіло сутності відповіді.ЗРОБАНО (числове значення 4)
Передача даних завершена або щось пішло не так під час передачі (наприклад, нескінченні переадресації).
Будь ласка, прочитайте тут: 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)