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

Synchronous XMLHttpRequest on the main thread is deprecated... Tried many different solution

我知道这个问题在这里发布了很多次,但我尝试了所有我能找到的关于堆栈溢出的解决方案,其中 none 有效。 我只是想做一个简单的 ajax 查询来加载 div 中的页面。 就这么简单:

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

在控制台日志中我得到

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/

我在主页上的一些 javascript 将无法工作,除非我重新加载页面。默认情况下,该页面已在 div 中加载 home.php,但我希望它加载其他页面,然后当我单击 "home" 时,它应该会正常加载,因此不会发生这种情况错误。我已经尝试使用 "async: true",但没有用。我不知道该怎么办。

你应该使用本地 jquery 然后从 cdn

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

async: false

在您的任何 $.ajax() 通话中。这是 XMLHttpRequest 唯一被弃用的功能。

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

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

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

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