在xhr.readystate===4
之后说 AJAX 电话是否已完成是否正确?
Here它说州是complete
。那么complete
是什么意思呢?
答案 0 :(得分:43)
Ajax http请求有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调用已经完成是正确的。
答案 1 :(得分:3)
是的,这是正确的。xhr.readstate===4
表示请求已完成且响应已准备就绪。您可以参考this了解详情。
这是一个小例子:
xmlhttp.open("GET", "test.txt", true);
xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState==4) {
alert(xmlhttp.responseText);
}
}
xmlhttp.send(null);
上面的脚本为相对url" text.txt"发出GET请求。 (相对于调用页面)它提供了一个函数,它在每次调用readyState属性时调用readyState属性,当它具有值4时 - 表示加载完成,它会向用户显示带有警报的responseText。