[英]How to wait until the ajax command finished in JavaScript?
我在那些突出顯示的函數中有 ajax,java 腳本不會等到來自服務器的請求繼續執行其他命令,我不會,不會!
我是java腳本的新手...
function putthedataback() {
for (var i = 0; i < year.length; i++) {
var a = i + 1;
year1fun(year[i],a);
cc1fun(cc[i],a);
tp1fun(tp[i],a);
document.getElementById("year" + a).value = "" + year[i];
document.getElementById("cc" + a).value = "" + cc[i];
document.getElementById("tp" + a).value = "" + tp[i];
document.getElementById("du" + a).value = "" + du[i];
document.getElementById("dd" + a).value = "" + dd[i];
document.getElementById("ns" + a).value = "" + ns[i];
document.getElementById("fv" + a).value = "" + fv[i];
}
}
ajax 一個函數
代碼
function year1fun(value, x) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (this.readyState === 4 && this.status === 200) {
document.getElementById("cc" + x).innerHTML = this.responseText;
}
};
xmlhttp.open("GET", "yearselectionchanged.php?q=" + value, true);
xmlhttp.send();
}
您已調用xmlhttp.open("GET", "yearselectionchanged.php?q=" + value, true);
但是最后一個參數是假的,就像這樣:
xmlhttp.open("GET", "yearselectionchanged.php?q=" + value, false);
True是異步請求,那么您的代碼不會等待響應。 False是sync ,您的代碼將等待響應。
請參閱此處的文檔: https : //developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests#Synchronous_request
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.