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