簡體   English   中英

如何等到 JavaScript 中的 ajax 命令完成?

[英]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();
                    }

這里是一個包含函數的ajax

您已調用xmlhttp.open("GET", "yearselectionchanged.php?q=" + value, true);

但是最后一個參數是假的,就像這樣:

xmlhttp.open("GET", "yearselectionchanged.php?q=" + value, false);

True異步請求,那么您的代碼不會等待響應。 Falsesync ,您的代碼將等待響應。

請參閱此處的文檔: https : //developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests#Synchronous_request

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM