De la referencia leí en MDN, que diceparámetro "true" en XMLHTTPRequest .open() método
If TRUE (the default), the execution of the JavaScript
function will continue while the response of the server has not yet arrived.
This is the A in AJAX.
He estado usando AJAX, pero entonces yo estaba un poco confundido cuando leí eso. Creo que el problema puede ser que no entiendo claramente el concepto de AJAX ... Sé por supuesto que AJAX no actualiza la página, lo que significa que la conexión al servidor y la respuesta están completamente hechas en segundo plano.
Pero lo que puedo imaginar sucediendo de acuerdo con que la referencia es que si tengo un código como este en mi JavaScript:
//true, therefore process the function while server retrieves url
var xmlResponse;
var url = "http://domain.com/file.xml";
xml_req.open("GET", url, true);
xml_req.onreadystatechange = function() {
if(xml_req.readyState == 4 && xml_req.status == 200) {
if(xml_req.responseText != null)
xmlResponse = xml_req.responseXML; //server response may not yet arrive
else {
alert("failed");
return false;
}
};
xml_req.send(null);
¿no significa eso xmlResponse podría ser indefinido en el sentido de que el servidor está sigue recuperando los datos? ¿Podría alguien explicar cuál es realmente el flujo de la ejecución en la tecnología AJAX? Gracias por adelantado.
¿Necesita más información? ¿Más preguntas? – epascarello
@epascarello: gracias, creo que tengo claro eso, gracias por la ayuda. No puedo aceptar dos respuestas pero iré con la que me contestó primero –