我有一个表单,我需要在提交之前运行一些验证操作。这些操作涉及ajax调用等异步步骤。如何等待直到完成异步步骤?
如何告诉表单要等到所有验证操作在提交之前完成?
我的验证功能看起来是这样的(伪代码):
function preSubmit() {
// validate field 1
ajax({
...
onSuccess:...
});
// validate field 2
ajax({
...
onSuccess:...
});
// fields 3, 4, etc.
}
我现在的问题是,在完成的onSuccess回调前的形式被提交。
我当然可以使我的ajax调用同步,但我试图避免它,因为性能的影响。
你使用jQuery吗?如果是这样,请查看'$ .when' – 2013-02-20 18:57:11
为什么不提交表单并让服务器告诉您它是否有效? – 2013-02-20 18:57:47
@Kolink可以保存一次到服务器的旅程。在我的情况下,一些验证使用外部服务(例如地址)。 – Christophe 2013-02-20 19:13:15