What is meaning of xhr.readystate===4

JavascriptJqueryAjax

Javascript Problem Overview


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 this complete mean?

Javascript Solutions


Solution 1 - Javascript

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.

Solution 2 - Javascript

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser3022012View Question on Stackoverflow
Solution 1 - Javascripttruongnguyen1912View Answer on Stackoverflow
Solution 2 - JavascriptRahul TripathiView Answer on Stackoverflow