主线程上的同步XMLHttpRequest已弃用...尝试了许多不同的解决方案

时间:2016-01-06 07:39:25

标签: javascript jquery ajax xmlhttprequest

我知道这个问题在这里发布了很多次,但我尝试了所有可以在堆栈溢出时找到的解决方案,但没有一个能够工作。 我只是想做一个简单的ajax查询来加载div中的页面。 就像这样简单:

function loadHome(){
$('#container').html('<div class="loader"></div>');
$.ajax({
    type: "GET",
    url: "home.php",
        success: function(msg){
            $("#container").html(msg);
        }
});
}

在控制台日志中我得到了

  

主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用。如需更多帮助,请查看http://xhr.spec.whatwg.org/

除非我重新加载页面,否则主页上的一些javascript将无法运行。该页面默认在div中加载home.php,但我希望它加载其他页面,然后当我点击“home”时它应该正常加载,并且由于该错误而没有发生。我已经尝试使用“async:true”,但没有用。我不知道该怎么做。

2 个答案:

答案 0 :(得分:5)

您应该使用cdn以及

中的本地jquery

要避免此警告,请勿使用:

async: false
在您的$.ajax()个来电中

。这是XMLHttpRequest被弃用的唯一功能。

默认值为async: true,因此,如果您根本不使用此选项,那么您的代码应该是安全的,如果该功能真的被删除(它可能不会 - 它可能会被删除标准,但我打赌浏览器将继续支持它多年。)

Referance

答案 1 :(得分:1)

使用.load()函数时,我也注意到了同样的问题。

jquery似乎没有弃用该方法,但它也会导致同步XMLHttpRequest警报。

首选$ .get(),$ .post()或$ .ajax()方法。