84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
请输入代码 $(元素).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
看看这个写的是不是有帮助:点击查看
你的意思是想知道后台对数据的处理结果是吧。因为是异步的,所以只能在回调函数中处理啊。一定要返回结果,是有别的什么目的吗?