Pregunta

He establecido un punto de interrupción en firebug y estoy examinando mi objeto xhr. Su estado listo es 0, su estado es 200. Entiendo que si el estado es 200, la solicitud debería haber comenzado al menos, y el estado listo debería ser al menos 1. ¿Alguien puede explicar qué está pasando?

Estoy usando $ .ajax de jquery para crear el objeto xhr, pero no creo que eso afecte el estado y el estado de preparación del xhr.

¿Fue útil?

Solución

La solicitud se completa cuando readyState es 4, no cuando el estado es 200.

Otros consejos

El w3c define que readyState es una indicación progresiva del progreso de xmlhttprequest. Transita en orden desde 0- > 4 (Sin inicializar, Abrir, Enviado, Recibiendo, Cargado) y solo en carga el contenido está listo para leer. Este es el punto de la propiedad y la razón por la que supervisa el evento onreadystatechange y no el estado, que es un encabezado de respuesta.

Por la misma especificación status se supone que genera una excepción cuando no está disponible (en el momento de la recepción o la carga), pero me imagino que esto se debe a la implementación para facilitar su uso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top