--- title: XMLHttpRequest.onreadystatechange slug: Web/API/XMLHttpRequest/readystatechange_event translation_of: Web/API/XMLHttpRequest/onreadystatechange original_slug: Web/API/XMLHttpRequest/onreadystatechange ---
Un EventHandler que es invocado cada vez que cambia el atributo readyState. La retrollamada (callback) es invocada desde el hilo (thread) perteneciente a la interfaz de usuario. La propiedad XMLHttpRequest.onreadystatechange contiene el manejador del evento que es invocado cuando se dispara el evento {{event("readystatechange")}}, lo cual sucede cada vez que cambia el valor de la propiedad {{domxref("XMLHttpRequest.readyState", "readyState")}} de {{domxref("XMLHttpRequest")}}. La retrollamada (callback) es invocada desde el hilo perteneciente a la interfaz de usuario.
Aviso: No debería ser usado con peticiones síncronas ni tampoco en código nativo.
El evento readystatechange no se disparará cuando una petición XMLHttpRequest sea cancelada mediante el método abort().
XMLHttpRequest.onreadystatechange = callback;
callback es la función de retrollamada que será ejecutada (invocada) cuando cambie el valor de la propiedad readyState.var xhr = new XMLHttpRequest(),
method = "GET",
url = "https://developer.mozilla.org/";
xhr.open(method, url, true);
xhr.onreadystatechange = function () {
if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send();
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('XMLHttpRequest', '#handler-xhr-onreadystatechange')}} | {{Spec2('XMLHttpRequest')}} | WHATWG living standard |
{{CompatibilityTable}}
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | {{CompatChrome(1)}} | {{CompatGeckoDesktop(1.0)}} | {{CompatIe(7)}}[1] | {{CompatVersionUnknown}} | {{CompatSafari(1.2)}} |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | {{CompatUnknown}} | 1.0 | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
[1] Las versiones 5 y 6 admiten llamadas AJAX usando ActiveXObject().