Respuestas:
La lista completa de readyState
valores es:
State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
(de https://www.w3schools.com/js/js_ajax_http_response.asp )
En la práctica, casi nunca usa ninguno de ellos, excepto el 4.
Algunas implementaciones de XMLHttpRequest pueden permitirle ver respuestas recibidas parcialmente en responseText
cuándo readyState==3
, pero esto no es compatible universalmente y no se debe confiar en ello.
kieron 's respuesta contiene w3schools ref. en el que nadie confía, la respuesta de bobince proporciona un enlace, que en realidad dice la implementación nativa de IE
así que aquí está la documentación original citada para comprender correctamente lo que representa readystate:
El objeto XMLHttpRequest puede estar en varios estados. El atributo readyState debe devolver el estado actual, que debe ser uno de los siguientes valores:
UNSENT (valor numérico 0)
El objeto ha sido construido.OPENED (valor numérico 1)
El método open () se ha invocado correctamente. Durante este estado, los encabezados de solicitud se pueden configurar usando setRequestHeader () y la solicitud se puede realizar usando el método send ().HEADERS_RECEIVED (valor numérico 2)
Se han seguido todos los redireccionamientos (si los hay) y se han recibido todos los encabezados HTTP de la respuesta final. Ya están disponibles varios miembros de respuesta del objeto.LOADING (valor numérico 3)
Se está recibiendo el cuerpo de la entidad de respuesta.DONE (valor numérico 4)
La transferencia de datos se completó o algo salió mal durante la transferencia (por ejemplo, redireccionamientos infinitos).
Lea aquí: Explicación del W3C de ReadyState
Documentación original definitiva
0
, 1
Y 2
solamente un seguimiento de cómo muchos de los métodos necesarios para realizar una solicitud que ha llamado hasta ahora.
3
le dice que la respuesta del servidor ha comenzado a llegar. Pero cuando está utilizando el XMLHttpRequest
objeto de una página web, no hay casi nada (*) que pueda hacer con esa información, ya que no tiene acceso a las propiedades extendidas que permiten que lea los datos parciales.
readyState 4
es el único que tiene algún significado.
(*: el único uso concebible en el que puedo pensar para verificar readyState 3
es que indica alguna forma de vida en el extremo del servidor, por lo que posiblemente podría aumentar la cantidad de tiempo que espera una respuesta completa cuando la reciba).
onreadystatechange Almacena una función (o el nombre de una función) que se llamará automáticamente cada vez que cambie la propiedad readyState readyState Mantiene el estado de XMLHttpRequest. Cambios de 0 a 4:
0: solicitud no inicializada
1: conexión al servidor establecida
2: solicitud recibida
3: solicitud de procesamiento
4: solicitud finalizada y respuesta lista
estado 200: "OK"
404 Pagina no encontrada
(De https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState)