Что такое xhr.readystate === 4

Можно ли сказать, что вызов AJAX завершен после xhr.readystate===4?
Здесь говорится, что состояние complete. Итак, что означает это complete?

Ответы

Ответ 1

HTTP-запрос в терминах Ajax имеет 5 состояний в качестве ссылочного документа:

0   UNSENT  open() has not been called yet.
1   OPENED  send() has been called.
2   HEADERS_RECEIVED    send() has been called, and headers and status are available.
3   LOADING Downloading; responseText holds partial data.
4   DONE    The operation is complete.

Состояние 4 означает, что запрос был отправлен, и сервер закончил возвращать ответ, и браузер завершил загрузку содержимого ответа. Итак, правильно сказать, что вызов AJAX завершен.

Ответ 2

Да, это правильно. xhr.readstate===4 означает, что запрос завершен, и ответ готов. Вы можете найти этот для деталей.

Вот небольшой пример:

xmlhttp.open("GET", "test.txt", true);
 xmlhttp.onreadystatechange = function() {
     if(xmlhttp.readyState==4) {
         alert(xmlhttp.responseText);
     }
 }
 xmlhttp.send(null);

Вышеупомянутый script делает запрос GET для относительного url "text.txt" (относительно вызывающей страницы). Он предоставляет функцию, которая проверяет свойство readyState каждый раз, когда она вызывает, и когда она имеет значение 4 - что означает, что загрузка завершена, она отображает responseText пользователю с предупреждением.

Источник