首页 > 解决方案 > Chrome 浏览器 AJAX 异步问题:false

问题描述

如果我在 Mozilla 中运行相同的代码(来自 Chrome 浏览器),它工作正常,但在 Google Chrome 中它不能工作,因为async: false

如果我正在制作,async: true那么它可以工作但需要重新加载页面。那么如何在 Chrome 浏览器中处理这个问题

var submitpage = function () {
    var loading_dev = 'body';
    run_waitMe(loading_dev);
    $.ajax({
        url: window.updatetestUrl + "?v=" + Math.random(),
        type: "get",
        dataType: "json",
        async: false,
        success: function (response) {
            //run_waitMe_close(loading_dev);
        },
        error: function () {
            // run_waitMe_close(loading_dev);
        }
    });
};

标签: javascriptphpjqueryajaxajax.beginform

解决方案


您确定要使您的请求非异步吗?AJAX 代表异步JSON 和 XML HTTP 请求。作为异步请求,您的呼叫将被发送出去,而不关心其效果或结果。调用将被发送出去,然后它下面的代码行将被执行,而不关心你的调用的响应。

如果您希望您的代码在您的请求完成后执行某些操作,您需要在您的成功函数中定义它(并且可能取消注释 run_waitMe_close)。

success: function (response) {
            run_waitMe_close(loading_dev);
            //Do other desired work here
},

推荐阅读