The XMLHttpRequest.status property returns the numerical status code of the response of the XMLHttpRequest. status will be an unsigned short. Before the request is complete, the value of status will be 0. It is worth noting that browsers report a status of 0 in case of XMLHttpRequest errors too.
The status codes returned are the standard HTTP status codes. For example, status 200 denotes a successful request. If the server response doesn't explicitly specify a status code, XMLHttpRequest.status will assume the default value of 200.
Example
var xhr = new XMLHttpRequest();
console.log('UNSENT', xhr.status);
xhr.open('GET', '/server', true);
console.log('OPENED', xhr.status);
xhr.onprogress = function () {
  console.log('LOADING', xhr.status);
};
xhr.onload = function () {
  console.log('DONE', xhr.status);
};
xhr.send(null);
/**
 * Outputs the following:
 *
 * UNSENT 0
 * OPENED 0
 * LOADING 200
 * DONE 200
 */
Specifications
| Specification | Status | Comment | 
|---|---|---|
| XMLHttpRequest | Living Standard | WHATWG living standard | 
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) | 
|---|---|---|---|---|---|---|
| Basic support | 1 | (Yes) | 1.0 (1.7 or earlier)[1] | 7[1] | (Yes) | 1.2 | 
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|---|---|
| Basic support | ? | 1.0 | (Yes) | (Yes) | ? | ? | ? | 
[1] Internet Explorer versions 5 and 6 lacked the XMLHttpRequest object, but provided a way to make AJAX requests using ActiveXObject.
See also
- List of HTTP response codes
Document Tags and Contributors
    
    Tags: 
    
  
                    
                       Contributors to this page: 
        erikadoyle, 
        jsx
                    
                    
                       Last updated by:
                      erikadoyle,