xhr.readystate是什么意思=== 4

时间:2015-05-29 06:27:58

标签: javascript jquery ajax

xhr.readystate===4之后说 AJAX 电话是否已完成是否正确?
Here它说州是complete。那么complete是什么意思呢?

2 个答案:

答案 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。

Source