javascript - 如何在xx.submit()里用$.ajax进行异步判断返回true或false
阿神
阿神 2017-04-10 16:42:28
0
3
455
请输入代码
$(元素).submit(function (){
    var flag = false;
    $.ajax(...)
    .done(function (result){
        if(result) 
            flag = true;
    );
    return flag;
});

因为ajax是异步的,所以flag永远return false;
本人是新手,只知道将ajax改为同步方式可以纠正;请问有没有用异步的方式实现的办法?

阿神
阿神

闭关修行中......

모든 응답(3)
Ty80

这是不可能的

原因是: submit函数的执行隶属于js主线程,而你要做的是延迟该函数的返回,这其中必有一段阻塞的代码。

不过,有不太优雅的替代方案: 在button的click中调用ajax,在ajax的回调中调用submit

迷茫
$("form").submit(function() {
    $.ajax(...).done(function(result) {
        //成功执行业务处理
    }).fail(function() {
        //失败业务处理 
    });
});

看看这个写的是不是有帮助:点击查看

迷茫

你的意思是想知道后台对数据的处理结果是吧。因为是异步的,所以只能在回调函数中处理啊。一定要返回结果,是有别的什么目的吗?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!