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

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

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

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

我“做错了”吗?


当前回答

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

async: false

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

默认为

async: true

jQuery已经弃用了同步XMLHTTPRequest

其他回答

在我的情况下,这是由Cloudflare提供的“CDNJS选择”应用程序中的灵活脚本引起的。

根据Cloudflare的说法,“该应用程序已于2015年3月弃用”。我把手机关掉,留言立刻就消失了。

您可以通过访问https://www.cloudflare.com/a/cloudflare-apps/yourdomain.com访问这些应用程序

注意:这是我在这个线程上的答案的副本同步XMLHttpRequest警告和<脚本>(我在寻找解决方案时访问了这两个)

我在以下情况下得到这样的警告:

1) file1包含<script type="text/javascript" src="/javascript/jquery-1.10.2.js"></script>. js"页面有输入字段。我在输入字段中输入一些值,然后点击按钮。Jquery向外部php文件发送输入。

2)外部PHP文件也包含jquery,在外部PHP文件中我还包括<script type="text/javascript" src="/javascript/jquery-1.10.2.js"></script>. js。因为如果这样我就会收到警告。

从外部php文件中删除<script type="text/javascript" src="/javascript/jquery-1.10.2.js"></script>,并且没有警告。

正如我所理解的加载第一个文件(file1),我加载jquery-1.10.2.js,作为页面不重新加载(它发送数据到外部php文件使用jquery $.post),然后jquery-1.10.2.js继续存在。所以不需要再加载了。

这个问题是2014年提出的,现在是2019年,所以我想寻找更好的选择是件好事。

你可以简单地在Javascript中使用fetch api,它为你提供了更多的灵活性。

例如,请参阅此代码

fetch('./api/some.json')
    .then((response) => {
        response.json().then((data) => { 
            ... 
        });
    })
    .catch((err) => { ... });

我在《ZF2》里也遇到过。 我试图加载模式内容,但我忘记禁用布局之前。

So:

$viewModel = new ViewModel();
$viewModel->setTerminal(true);
return $viewModel;

在Chrome浏览器中,按“F12” 开发工具->按F1。 参见设置->通用->外观:“不显示chrome数据保护警告”-设置此复选框。 参见设置->general->Console:“Log XMLHTTPRequest”-设置此复选框。

享受