我一直在向控制台添加日志,以检查不同变量的状态,而不使用Firefox调试器。
然而,在我在main.js文件中添加console.log的许多地方,我收到了以下错误,而不是我给自己的可爱的手写消息:
主线程上的同步XMLHttpRequest已弃用,因为它会对最终用户的体验产生不利影响。更多帮助http://xhr.spec.whatwg.org/
我可以在我的代码使用中添加哪些不会导致此错误的console.log替代品或包装器?
我“做错了”吗?
我一直在向控制台添加日志,以检查不同变量的状态,而不使用Firefox调试器。
然而,在我在main.js文件中添加console.log的许多地方,我收到了以下错误,而不是我给自己的可爱的手写消息:
主线程上的同步XMLHttpRequest已弃用,因为它会对最终用户的体验产生不利影响。更多帮助http://xhr.spec.whatwg.org/
我可以在我的代码使用中添加哪些不会导致此错误的console.log替代品或包装器?
我“做错了”吗?
当前回答
Visual Studio 2015/2017的实时调试器正在注入包含弃用调用的代码。
其他回答
我得到这个异常时,我设置url在查询像“example.com/files/text.txt”。我把url改为“http://example.com/files/text.txt”,这个异常消失了。
为避免此警告,请不要使用:
async: false
在任何$.ajax()调用中。这是XMLHttpRequest唯一被弃用的特性。
默认为
async: true
jQuery已经弃用了同步XMLHTTPRequest
我一直在看答案,都令人印象深刻。我认为他应该提供给他一个问题的代码。给出下面的例子,如果你在page.php中有一个链接到jquery的脚本,你就会得到通知。
$().ready(function () {
$.ajax({url: "page.php",
type: 'GET',
success: function (result) {
$("#page").html(result);
}});
});
Visual Studio 2015/2017的实时调试器正在注入包含弃用调用的代码。
这种情况发生在我很懒的时候,我将脚本标记作为返回内容的一部分。是这样的:
部分HTML内容:
<div>
SOME CONTENT HERE
</div>
<script src="/scripts/script.js"></script>
至少在我的例子中,如果通过xhr返回这样的HTML内容,就会导致jQuery调用该脚本。该调用带有一个async标志false,因为它假定您需要继续加载脚本。
在这种情况下,最好查看某种类型的绑定框架并返回一个JSON对象,或者根据后端和模板更改加载脚本的方式。
你也可以使用jQuery的getScript()来获取相关的脚本。这是一个小提琴,这只是一个直接复制的jQuery示例,但我没有看到任何警告抛出时,脚本加载的方式。
例子
<script>
var url = "/scripts/script.js";
$.getScript(url);
</script>
http://jsfiddle.net/49tkL0qd/