¿Es correcto decir que la llamada AJAX se completó después xhr.readystate===4 ?
Aquí dice que el estado es complete . Entonces, ¿qué significa esto complete ?
Una solicitud http de Ajax tiene 5 estados como documentos de referencia:
0 UNSENT open() has not been called yet. 1 OPENED send() has been called. 2 HEADERS_RECEIVED send() has been called, and headers and status are available. 3 LOADING Downloading; responseText holds partial data. 4 DONE The operation is complete.El estado 4 significa que se envió la solicitud, el servidor terminó de devolver la respuesta y el navegador terminó de descargar el contenido de la respuesta. Entonces, es correcto decir que la llamada AJAX se ha completado.
Si es correcto. xhr.readstate===4 significa que la solicitud finalizó y la respuesta está lista. Puede consultaresto para más detalles.
Aquí hay un pequeño ejemplo:
xmlhttp.open("GET", "test.txt", true); xmlhttp.onreadystatechange = function() { if(xmlhttp.readyState==4) { alert(xmlhttp.responseText); } } xmlhttp.send(null);La secuencia de comandos anterior realiza una solicitud GET para la URL relativa "text.txt" (relativa a la página de llamada). Proporciona la función, que verifica la propiedad readyState cada vez que se llama y cuando tiene el valor 4, lo que significa que la carga está completa. , muestra el texto de respuesta al usuario con una alerta.