What is meaning of xhr.readystate===4

后端 未结 2 680
挽巷
挽巷 2021-02-01 00:46

Is it right to say that the AJAX call has completed after xhr.readystate===4?
Here it says the state is complete. So what does th

相关标签:
2条回答
  • 2021-02-01 01:11

    An Ajax http request has 5 states as your reference documents:

    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.
    

    State 4 means that the request had been sent, the server had finished returning the response and the browser had finished downloading the response content. So, it is right to say that the AJAX call has completed.

    0 讨论(0)
  • 2021-02-01 01:25

    Yes, it is correct.xhr.readstate===4 means request finished and response is ready. You can refer this for details.

    Here is small example:

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

    The above script makes a GET request for the relative url "text.txt" (relative to the calling page) It provides the function, which checks the readyState property each time it's called and when it has the value 4 - meaning the load is complete, it displays the responseText to the user with an alert.

    Source

    0 讨论(0)
提交回复
热议问题