/ / Asynchron und Synchronous XMLHttpRequest in Ajax - Javascript, Ajax, Asynchron, Xmlhttprequest, Synchron

Asynchrone und synchrone XMLHttpRequest in AJAX - Javascript, AJAX, asynchron, xmlhttprequest, synchron

Ich bin neu bei Ajax und folge Lynda "Javascript und Ajax" -Tutorial. Hier ist das Problem, dem ich begegnet bin.

Ich habe ein Textdokument mit dem Namen "data", in dem Text HELLO WORLD gespeichert ist.

Meine index.html-Datei lautet:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>JavaScript AJAX</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

Meine Javascript-Datei lautet:

for(var i = 0; i < 100; i++){
var request = new XMLHttpRequest();
request.open("GET", "data.txt",false);
request.send();
console.log(request);
document.writeln(request.responseText);

}

Meine Frage ist, wann ich Synchronous macheXMLHttpRequest durch Angabe des Arguments false (auf request.open ()) zeigt mein Browser "HELLO WORLD" 100 Mal gemäß dem Code an. Aber als ich versuche, asynchronous XMLHttpRequest durch Angabe des Arguments true oder nichts als Standardwert auszuführen, zeigt der Browser nichts an. Wieso ist es so?

Könnte mir bitte jemand weiterhelfen? Ich verstehe einige Kenntnisse über asynchrone und synchrone Anfragen.

Antworten:

2 für die Antwort № 1

Asynchrone Aufrufe verhindern keine nachfolgende Codeausführung. In Ihrem Beispiel wird console.log ausgeführt, bevor die async-Anforderung abgeschlossen ist.

Wenn Sie Ihren Code als Leitfaden verwenden, finden Sie hier ein Arbeitsbeispiel.

for (var i = 0; i < 100; i++) {
var req = new XMLHttpRequest();

req.addEventListener("load", complete, false);
req.open("GET", "/echo/json/", true);
req.send();
}

function complete(e) {
console.log(this.responseURL);
}

http://jsfiddle.net/75eLfwz1/