84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
请输入代码 $(元素).submit(function (){ var flag = false; $.ajax(...) .done(function (result){ if(result) flag = true; ); return flag; });
因为ajax是异步的,所以flag永远return false;本人是新手,只知道将ajax改为同步方式可以纠正;请问有没有用异步的方式实现的办法?
闭关修行中......
这是不可能的
原因是: submit函数的执行隶属于js主线程,而你要做的是延迟该函数的返回,这其中必有一段阻塞的代码。
不过,有不太优雅的替代方案: 在button的click中调用ajax,在ajax的回调中调用submit
$("form").submit(function() { $.ajax(...).done(function(result) { //成功执行业务处理 }).fail(function() { //失败业务处理 }); });
看看这个写的是不是有帮助:点击查看
你的意思是想知道后台对数据的处理结果是吧。因为是异步的,所以只能在回调函数中处理啊。一定要返回结果,是有别的什么目的吗?
这是不可能的
原因是: submit函数的执行隶属于js主线程,而你要做的是延迟该函数的返回,这其中必有一段阻塞的代码。
不过,有不太优雅的替代方案: 在button的click中调用ajax,在ajax的回调中调用submit
看看这个写的是不是有帮助:点击查看
你的意思是想知道后台对数据的处理结果是吧。因为是异步的,所以只能在回调函数中处理啊。一定要返回结果,是有别的什么目的吗?