Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery同步ajax调用不更新UI_Javascript_Jquery_Ajax_User Interface - Fatal编程技术网

Javascript Jquery同步ajax调用不更新UI

Javascript Jquery同步ajax调用不更新UI,javascript,jquery,ajax,user-interface,Javascript,Jquery,Ajax,User Interface,我有一个在循环中执行的同步ajax调用。我试图在执行任何ajax调用之前以及在每个all的done回调方法上更新UI。UI仅在所有ajax调用完成后更新。这是我的密码 $("#warning").text("Do not close this screen!"); setTimeout(function () { console.log("delay before ajax call") }, 4000); var strVale = document.getElementBy

我有一个在循环中执行的同步ajax调用。我试图在执行任何ajax调用之前以及在每个all的done回调方法上更新UI。UI仅在所有ajax调用完成后更新。这是我的密码

$("#warning").text("Do not close this screen!");
    setTimeout(function () { console.log("delay before ajax call") }, 4000);

    var strVale = document.getElementById('CompanyList').value;
    arr = strVale.split(',');
    LoadingPanel.Show();
    for (i = 0; i < arr.length; i++)
    {

        var d = new Date();
        var date = [pad(d.getDate()), pad(d.getMonth() + 1), d.getFullYear()].join('/');
        var time = [pad(d.getHours()), pad(d.getMinutes())].join(':');

        $("#" + arr[i]).text("Started at " + date + " " + time);
        $("#" + arr[i]).css('background-color', 'orange');

        $.ajax({
            type: "GET",
            async: false,
            contentType: "'application/json; charset=utf-8'",
            url: "/url?companyID=" + parseInt(arr[i]),                
        }).done(function (response) {
            // console.log(response);
            if (response.Success) {
                $("#" + response.CompanyID).css('background-color', 'lightgreen');
            }
            else {
                $("#" + response.CompanyID).css('background-color', 'lightpink');
            }

            $("#" + response.CompanyID).text(response.StatusMessage);
        });


    }

    LoadingPanel.Hide();
$(“#警告”).text(“请勿关闭此屏幕!”);
setTimeout(函数(){console.log(“ajax调用前的延迟”)},4000);
var strVale=document.getElementById('CompanyList').value;
arr=strVale.split(',');
LoadingPanel.Show();
对于(i=0;i
问题在于您的异步:false
如果你把它变成现实,它就会起作用

你的问题是什么?你有没有检查Firebug->Console是否有任何错误?更多细节会更好。同步执行ajax调用需要什么?这是通常的行为:在执行下一个(同步)ajax时,新添加的元素的呈现就会停止。为了在UI更新时让ajax处于“后台”,请进行异步调用。@satafaka没有错误,更新应在每个ajax的调用之间进行,即每个ajax的done方法。它发生在所有调用完成后。是否尝试使用async:true?