2

我知道,总的来说,目标应该是避免async: false. 但是,在这种情况下,我想了解是否值得将事情捆绑在一起以使其工作,或者是否可以:

在我网站的注册页面上,我有一个JS/jQuery提交验证功能。它有两个AJAX查询,一个用于username(以确保它尚未被占用),一个用于email(以确保他们没有提交已被其他用户声明的电子邮件)。在验证功能中,我会检查每一项以及许多其他内容(密码匹配、检查非空白等),当其中任何一项弹出时,都会出现一条警告消息说明问题。

这两个 ajax 查询async: false都是为了确保表单在被检查之前不提交。

我的问题是,
这有多糟糕?如果它很糟糕,那么为什么?我可以将工作投入到创建一个函数来检查两者并为每个不同的选项有 4 个返回值,但这似乎很多......我知道这可能不是一个可靠的编码问题,但我编码新手,想确保我理解这里的区别意味着什么。

提前非常感谢。

4

1 回答 1

1

同步 HTTP 请求会在后续代码在途中停止执行。虽然在此期间浏览器可能不再阻止 UI,但我们依靠用户的可用带宽、网络可靠性和服务器的当前负载来执行代码。这通常不是好的做法。

正如我从该链接中发现的那样,这可能会对您有所帮助,请查看此 https://softwareengineering.stackexchange.com/questions/112551/should-we-still-consider-a-synced-xmlhttprequest-bad-practice

您还应该参考https://webtide.com/xmlhttprequest-bad-messaging-good/

于 2015-07-13T09:16:54.237 回答