Domanda

Ho impostato un breakpoint in firebug e sto esaminando il mio oggetto xhr. Il suo readyState è 0, il suo stato è 200. La mia comprensione è che se lo stato è 200, la richiesta dovrebbe almeno essere iniziata e il readystate dovrebbe essere almeno 1. Qualcuno può spiegare cosa sta succedendo?

Sto usando $ .ajax di jquery per creare l'oggetto xhr, ma non credo che ciò influirebbe sullo stato e sullo stato del xhr.

È stato utile?

Soluzione

La richiesta è completa quando readyState è 4, non quando lo stato è 200.

Altri suggerimenti

Il w3c definisce che readyState è un'indicazione progressiva dello stato di avanzamento della richiesta xmlhttp. Passa da 0 a 4 (non inizializzato, aperto, inviato, ricevuto, caricato) e solo a carico è il contenuto pronto per la lettura. Questo è il punto della proprietà e il motivo per cui si monitora l'evento onreadystatechange e non lo stato che è un'intestazione di risposta.

Secondo la stessa specifica, status dovrebbe sollevare un'eccezione quando non disponibile (al momento della ricezione o del caricamento), ma immagino che questo sia confuso dall'implementazione per facilità d'uso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top