Come eseguire una function quando un XMLHttpRequest è completo?

Sto lavorando a un progetto che ha diversi script che non posso cambiare. Questi script aggiorna la pagina tramite AJAX. Quando l'aggiornamento è completo ho bisogno di eseguire un codice.

Esiste un evento che si verifica quando un XMLHttpRequest è completo? (o qualsiasi cambiamento di stato di XMLHttpRequest?).

Purtroppo non posso accedere all'object XMLHttpRequest specifico utilizzato per eseguire la richiesta.

Grazie,

Senza jQuery, è ansible colbind il metodo open per associare un ascoltatore ad each evento di readystatechange dell'object readystatechange al momento dell'apertura dell'object XHR. Assicurarsi che il codice riportto di seguito viene eseguito prima di qualsiasi Ajax:

 // save the real open var oldOpen = XMLHttpRequest.prototype.open; function onStateChange(event) { // fires on every readystatechange ever // use `this` to determine which XHR object fired the change event } XMLHttpRequest.prototype.open = function() { // when an XHR object is opened, add a listener for its readystatechange events this.addEventListener("readystatechange", onStateChange) // run the real `open` oldOpen.apply(this, arguments); } 

In alternativa, se si interessa solo di events di load successo, è ansible ascoltare l'evento anziché readystatechange .