[英]performing ajax validation in onsubmit
我正在尝试在 web 表单的 submit() 处理程序中执行一些 AJAX 验证。 ajax 正在使用来自 jquery 的$.ajax()
执行。 如果我使用async: false
效果很好,但我会收到弃用通知,我只是假设有未来证明的代码。
所以我的问题是如何在没有async: false
的情况下执行 AJAX 验证?
https://stackoverflow.com/a/9865124/569976推荐when()
function。 我想知道如何将其用于我的目的。 我想我可以在when()
方法的done()
部分中将全局变量complete
设置为true
,但是我怎么知道何时将complete
设置为 true? 我想我可以做setInterval
继续检查complete
的值,直到它最终为真,然后可以使用 JS 提交表单,但 idk 似乎不优雅。
https://stackoverflow.com/a/14038050/569976提到$.ajaxStop
但我认为这不是最佳实践。
我也试过这个(在$('...').submit(...)
方法中):
await Promise.all(function() {
return $.ajax(...);
})
这给了我一个Uncaught SyntaxError: await is only valid in async function
错误。
有任何想法吗?
在通过 Ajax 提交之前,您应该执行输入清理和验证。 因此,您可以在构造 Ajax 请求之前或在 beforeSend 事件中执行此操作...最好尽早进行,这样您就可以避免取消/中止构造的 Ajax 请求。
至于您的语法错误,我会查看 Promise.all 上的文档以了解它返回的类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.