javascript中使用ajax异步验证数据库后方法return true时总是返回undefined

在javascript函数中使用return true是可以返回true的,但是如果avascript函数中使用了ajax方式发送异步请求

函数的话,return true 就不会返回true,而是返回的undefined。网上查了一下原因是因为是异步方法的原因。

我的解决办法是在异步方法中定义一个变量来存储异步方法的返回值,如果异步方法返回值为true,则将true赋值给

该变量,在方法最后return 该变量即可。

function ajaxGetSpkStatus(icuuid){
var exist = false;
$.ajax( {
cache : false,
type : 'POST',
async : false,
url : "bill",
data : {
operation : 35,
spkUuid : icuuid
},
success : function(data) {
if(!data.flag){
alert("该卡已被禁用,请更换审批卡")
return false;
}else{
exist = true;//ajax内部return true 总是 return undefined。所以将值赋给exist变量,在ajax方法外部return
}
},
error : function(x, y, z) {
alert("很遗憾,校验卡状态失败,请稍后重试")
return false;
},
dataType : 'json'
}); 
return exist;
}

转载于:https://www.cnblogs.com/yjtx/p/4429626.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值