Что такое 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 пользователю с предупреждением.
Источник