AJAX验证中的异步问题

主要我要实现这种效果 

在验证的时候,许多项都用AJAX进行后台验证,验证完后判断如果都正确就提交。但是如果是异步的话,没有等验证完就提交了,我提交也是用的ajax提交的。 
需要怎么来完成? 
我不想写成 
ws.fun1(function(result){ 
ws1.fun1(function(result){ 
ws3.fun1... 
}); 
}); 
这样的方式。需要怎么弄呢?
上一个博问我问了AJAX能否实现同步调用,答案是不能。那么如何才能解决这个问题呢?

元芳怎么了
浏览 462回答 2
2回答

繁星淼淼

在发送AJAX验证以前,把提交的按钮disable掉,或者使用信号量来做同步处理比如有n个AJAX验证需要提交,就先设一个值var flag = 1;每一次AJAX验证发送前执行 flag--;AJAX验证完毕后(无论验证是不是通过,无论AJAX是否通信成功),执行 flag++;当form提交的时候,判断flag > 0,如果为true表示AJAX验证都完成了

交互式爱情

你可以在验证完成时的回调函数里提交。将按钮的UseSubmitBehavior设为false;在回调函数里__doPostBack("按钮id","")
打开App,查看更多内容
随时随地看视频慕课网APP