使用W3School例子(https://www.w3schools.com/js/js_ajax_intro.asp):設置innerHTML後的AJAX:GET請求?
<!DOCTYPE html>
<html>
<body>
<div id="demo">
<h1>The XMLHttpRequest Object</h1>
<button type="button" onclick="loadDoc()">Change Content</button>
</div>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}
</script>
</body>
</html>
有人可以解釋爲什麼的innerHTML設置後發生的GET動作?
從邏輯上講,我習慣於從上到下進行的語言,逐步處理每行代碼。
當我讀這是第一次,我假設的innerHTML爲演示元素將是空白,那有沒有作用,這重新設置innerHTML來從結果ajax_info.txt繼服務器請求。這在後端語言思維,一直是可變的innerHTML,那就要進行更新,最後聲明可能會出現這樣的:
document.getElementById("demo").innerHTML =
this.responseText;
例使用僞變量:
- var x =''或NULL;
- var y =從服務器上的文件獲取文本;
- var x = y;
這是因爲你將賦值給'onreadystatechange'函數,這個函數將在稍後的響應到達時執行,然而解釋器繼續執行剩餘的代碼。閱讀關於異步JS –
完美。我會看一看。謝謝您的幫助! –
@Maximus解釋器按原樣'執行'代碼,它恰好是代碼是一個函數聲明。 – pvg