--- title: XMLHttpRequest.onreadystatechange slug: Web/API/XMLHttpRequest/onreadystatechange translation_of: Web/API/XMLHttpRequest/onreadystatechange ---
{{APIRef}}

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().

Sintaxis

XMLHttpRequest.onreadystatechange = callback;

Valores

Ejemplo

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();

Especificaciones

Specification Status Comment
{{SpecName('XMLHttpRequest', '#handler-xhr-onreadystatechange')}} {{Spec2('XMLHttpRequest')}} WHATWG living standard

Compatibilidad con navegadores Web

{{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().