2016-08-29 3 views
0
function loadDoc() { 
var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
    if (xhttp.readyState == 4 && xhttp.status == 200) { 
     document.getElementById("demo").innerHTML = xhttp.responseText; 
    } 
}; 
xhttp.open("GET", "ajax_info.txt", true); 
xhttp.send(); 
} 

ここで実行の順序を理解してもらえますか?AJAX - コードの順番を理解するのを手伝ってください

xhttp.onreadystatechangeは、状態== 4を待つIFで呼び出されます。しかし、xhttp.send()がコードのさらに下にトリガされるまでは4ではありません。したがって、xhttp.send()がState = 4をトリガーすると、なぜIFを実行するためにonreadystatechangeが再び呼び出されますか?私はこれをトップダウン実行として見ていると思います。私はちょうど/どうしてonreadystatechangeが国家が変わるのを待っているのかを知りませんか?そのコードはすでに実行されています。できるだけ簡単に説明していただき、ありがとうございます。

答えて

1

onreadystatechangeは、event handlerです。つまり、特定のイベントが発生したときにトリガーされます。

XMLHttpRequest.onreadystatechangeプロパティはそれが のXMLHttpRequestのreadyStateのプロパティが

(強調鉱山)を変更するたびにある、readystatechangeイベントが発射されたときに呼び出されるイベント ハンドラが含まれています

関連する問題