主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用

时间:2015-05-30 07:59:26

标签: javascript asynchronous xmlhttprequest

我使用$ .load从其他本地页面加载内容但是我在chrome和firefox中都出现了这个错误。

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience

这是我的代码

$(document).on("click", ".menuL", function() {
    var e = $(this).attr("href");
    $(".main").html('<center><img src="img/loader.gif" /></center>');
    $(".main").load(e + session, function(response, status, xhr){
        if(status == "error") {
            window.location.href = '/home';
        }
    });
    return false
});

我用Google搜索了所有可能的解决方案,但是所有这些解决方案都引导我做同样的事情,将异步设置为真,但我该怎么做?

1 个答案:

答案 0 :(得分:1)

由于$.load()只是普通$.ajax()调用的简化函数,因此您可以使用$.ajaxPreFilter()在发送每个请求之前以及{$.ajax()处理它们之前设置特定选项1}}。

$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
    options.async = true;
});

默认情况下,此设置为true,除非您在代码中的其他位置执行此操作,否则不会更改。