This page is Ready to Use

Notice: The WebPlatform project, supported by various stewards between 2012 and 2015, has been discontinued. This site is now available on github.

readyState

Summary

Returns the current state of the XMLHttpRequest.

Property of apis/xhr/XMLHttpRequestapis/xhr/XMLHttpRequest

Syntax

Note: This property is read-only.

var state = xhr.readyState;

Return Value

Returns an object of type unsigned shortunsigned short

Returns one of the following values:

  • UNSENT (0): open() has not been called yet.
  • OPENED (1): send() has not been called yet.
  • HEADERS_RECEIVED (2): send() has been called, and headers and status are available.
  • LOADING (3): Downloading; responseText holds partial data.
  • DONE (4): The operation is complete.

Examples

Prints a message to the console log during each state of the request.

function handler() {
  if (xhr.readyState === xhr.UNSENT) {
    console.log('XHR Unsent');
  } else if (xhr.readyState === xhr.OPENED) {
    console.log('XHR Opened');
  } else if (xhr.readyState === xhr.HEADERS_RECEIVED) {
    console.log('XHR Headers received');
  } else if (xhr.readyState === xhr.LOADING) {
    console.log('XHR Loading');
  } else if (xhr.readyState === xhr.DONE) {
    console.log('XHR Done');
  }
}

var xhr = new XMLHttpRequest();
xhr.open("GET", "http://localhost/test.xml", true);
xhr.onreadystatechange = handler;
xhr.send();

Notes

You cannot call the responseText property to obtain partial results (readyState = 3). Doing so will return an error, because the response is not fully received. You must wait until all data has been received. See onreadystatechange.

Related specifications

W3C XMLHttpRequest Specification
W3C Working Draft

Attributions