XMLHttpRequest: readystatechange event
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers, except for Service Workers.
The readystatechange
event is fired whenever the readyState
property of the XMLHttpRequest
changes.
Warning: This should not be used with synchronous requests and must not be used from native code.
Syntax
Use the event name in methods like addEventListener()
, or set an event handler property.
js
addEventListener("readystatechange", (event) => {});
onreadystatechange = (event) => {};
Event type
A generic Event
with no added properties.
Examples
js
const xhr = new XMLHttpRequest();
const method = "GET";
const url = "https://developer.mozilla.org/";
xhr.open(method, url, true);
xhr.onreadystatechange = () => {
// In local files, status is 0 upon success in Mozilla Firefox
if (xhr.readyState === XMLHttpRequest.DONE) {
const status = xhr.status;
if (status === 0 || (status >= 200 && status < 400)) {
// The request has been completed successfully
console.log(xhr.responseText);
} else {
// Oh no! There has been an error with the request!
}
}
};
xhr.send();
Specifications
Specification |
---|
XMLHttpRequest Standard # event-xhr-readystatechange |
XMLHttpRequest Standard # handler-xhr-onreadystatechange |
Browser compatibility
BCD tables only load in the browser