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

41 javascript ajax jquery

AJAX呼叫在之后完成是否正确xhr.readystate===4
这里说的是州complete.那是什么complete意思呢?

tru*_*912 55

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.
Run Code Online (Sandbox Code Playgroud)

状态4表示请求已发送,服务器已完成返回响应,浏览器已完成下载响应内容.因此,说AJAX调用已经完成是正确的.


Rah*_*thi 5

是的,这是正确的。xhr.readstate===4表示请求已完成且响应已准备就绪。您可以参考以获取详细信息。

这是一个小例子:

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

上面的脚本对相对URL“ text.txt”(相对于调用页面)进行GET请求。该脚本提供了该函数,该函数在每次调用它时以及其值为4时都会检查readyState属性-这意味着加载已完成,它会向用户显示带有响应的responseText。

资源