XMLHttpRequest has 5 readystates, and I only use 1 of them (the last one, 4). What are the others for, and what practical applications can I use them in.
views:
831answers:
2The full list of readyState
values is:
State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
(from http://www.w3schools.com/ajax/ajax_xmlhttprequest.asp)
In practice you almost never use any of them except for 4.
Some XMLHttpRequest implementations may let you see partially received responses in responseText
when readyState==3
, but this isn't universally supported and shouldn't be relied upon.
Original definitive documentation
0, 1 and 2 only track how many of the necessary methods to make a request you've called so far.
3 tells you that the server's response has started to come in. But when you're using the XMLHttpRequest object from a web page there's almost nothing(*) you can do with that information, since you don't have access to the extended properties that allow you to read the partial data.
readyState 4 is the only one that holds any meaning.
(*: about the only conceivable use I can think of for checking for readyState 3 is that it signals some form of life at the server end, so you could possibly increase the amount of time you wait for a full response when you receive it.)