Из ссылки, которую я прочитал в MDN, говорится
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.
Я использую AJAX, но потом я немного смутился, когда прочитал это. Я думаю, проблема может заключаться в том, что я не понимаю концепцию AJAX. Я знаю, конечно, что AJAX не обновляет страницу, что означает подключение к серверу, и ответ полностью выполнен в фоновом режиме.
Но то, что я могу себе представить, происходит по этой ссылке: если у меня есть такой код в моем 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);
Разве это не означает, что xmlResponse может быть undefined в том смысле, что сервер все еще извлекает данные? Может ли кто-нибудь объяснить, что на самом деле является потоком исполнения в технологии AJAX? Спасибо заранее.