gpt4 book ai didi

javascript - jQuery ajax 异步 : false causes a strange warning?

转载 作者:搜寻专家 更新时间:2023-11-01 04:51:47 25 4
gpt4 key购买 nike

在我的 JS 应用程序中,我有许多使用 async: false 的 Ajax 调用。我使用的是最新的 Chrome 浏览器,最近在我的控制台中出现以下警告。

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/.

现在我正在尝试将所有 async: false 更改为 async: true。但它会导致很多错误,因为我的应用程序需要使用 async: false 运行。

警告只是错误还是什么?我可以担心还是忽略它?

最佳答案

JavaScript 仅在 UI 线程上运行,因此同步 AJAX 调用将完全卡住浏览器,直到服务器回复。

在 Web 应用程序的 UX 设计中,这被认为是一种不好的做法,主要浏览器正在弃用此功能,转而支持带有回调的异步请求。

You may not worry about the message now. It's not a bug but I strongly recommend you to start rewriting it because when a feature is marked as deprecated it means a warn that they can remove this feature anytime in the future.

它也从 jQuery 1.8+ 中弃用了

As of jQuery 1.8, the use of async: false with jqXHR ($.Deferred) is deprecated; you must use the success/error/complete callback options instead of the corresponding methods of the jqXHR object such as jqXHR.done() or the deprecated jqXHR.success()

推荐方式:

var request = $.ajax({
url: "script.php",
data: { id : menuId },
dataType: "application/json"
});

request.done(function(data) {
// Executed in case of success
});

request.fail(function( jqXHR, textStatus ) {
// Executed in case of error
});

关于javascript - jQuery ajax 异步 : false causes a strange warning?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com