jquery同步ajax提交

最近做ajax验证验证码代码如下

 

function checkSMSCode(){

             。

             。

             。

        var result = false;
        $.ajax({
               type: "get",
               dataType:"json",
               url: "<%=contextPath%>/checkSMSCode",
               data:'mobileNum=' + mobileNum + "&SMSCode=" + smscode + "&timestamp=" + new Date().getTime(),
               success: function(ret){
                   if(ret[retVal]==retSuc){
                           result = true;
                       }else{
                           smsCodeObj.className = "errorKey";
                           $("#SMSCodeHelp").text(ret[retMsg]);
                           result = false;
                       }
                },
                error: function(){
                    $("#SMSCodeHelp").text('系统繁忙,请稍后再提交');
                }
            });
       
        return result;
    }

 

发现无论怎么验证,返回的总是false

检查后得知 jquery $.ajax()提交默认是异步的,就是执行到这之后,不等待执行完成,立刻执行下边的代码,所以就有了上面的情况

 

解决方法:

在方法里加上参数

async: false,//使用同步方式

这样就同步方式了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值