Maison > Questions et réponses > le corps du texte
请输入代码
$(元素).submit(function (){
var flag = false;
$.ajax(...)
.done(function (result){
if(result)
flag = true;
);
return flag;
});
因为ajax是异步的,所以flag永远return false;
本人是新手,只知道将ajax改为同步方式可以纠正;请问有没有用异步的方式实现的办法?
PHP中文网2017-04-10 16:44:28
这是不可能的
原因是: submit函数的执行隶属于js主线程,而你要做的是延迟该函数的返回,这其中必有一段阻塞的代码。
不过,有不太优雅的替代方案: 在button的click中调用ajax,在ajax的回调中调用submit
迷茫2017-04-10 16:44:28
$("form").submit(function() {
$.ajax(...).done(function(result) {
//成功执行业务处理
}).fail(function() {
//失败业务处理
});
});
看看这个写的是不是有帮助:点击查看