我一直在向控制台添加日志,以检查不同变量的状态,而不使用Firefox调试器。

然而,在我在main.js文件中添加console.log的许多地方,我收到了以下错误,而不是我给自己的可爱的手写消息:

主线程上的同步XMLHttpRequest已弃用,因为它会对最终用户的体验产生不利影响。更多帮助http://xhr.spec.whatwg.org/

我可以在我的代码使用中添加哪些不会导致此错误的console.log替代品或包装器?

我“做错了”吗?


当前回答

我得到这个异常时,我设置url在查询像“example.com/files/text.txt”。我把url改为“http://example.com/files/text.txt”,这个异常消失了。

其他回答

像@Nycen一样,我也得到了这个错误,因为一个链接到Cloudfare。我的是Select2插件。

我刚把它拆了

 src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.min.js"

错误消失了。

在我的特殊情况下,我呈现了一个没有渲染布局的Rails部分:false,这是重新渲染整个布局,包括<head>标记中的所有脚本。添加渲染布局:false控制器动作修复了这个问题。

我也面临着同样的问题,但能够通过放置async: true来修复它。我知道它默认为true,但当我显式地写它时,它是有效的

$.ajax({
   async: true,   // this will solve the problem
   type: "POST",
   url: "/Page/Method",
   contentType: "application/json",
   data: JSON.stringify({ ParameterName: paramValue }),
});

我得到这个异常时,我设置url在查询像“example.com/files/text.txt”。我把url改为“http://example.com/files/text.txt”,这个异常消失了。

为避免此警告,请不要使用:

async: false

在任何$.ajax()调用中。这是XMLHttpRequest唯一被弃用的特性。

默认为

async: true

jQuery已经弃用了同步XMLHTTPRequest