function refundUseCoupon(trxOrderGoodsId){ $.ajax({ type:'GET', url:'<%=contextPath%>/ucenter/getCouponPayment.do', data:{"trxGoodsId":trxOrderGoodsId}, dataType:'json', cache : false, async:false,
success:function(data){ if((data.couponId != null) && (data.couponId !='') && (data.couponId>0) ){ return true; }else{ return false; } }, error : function(error) { return false; } }); return result; }
上面的函数,很简单,只作为提示用,想返回true和false,很简单,就是没注意。结果测试.alert:undefined
下面是调用时的测试代码
// 调用测试 funaction refund (){ var refflag=false; refflag=refundUseCoupon(_id); alert(refflag); if(refflag){ // }else{ // } }
在上述的代码中已经return了。结果就是不返回。自己想了下。感觉在ajax中返回实际相当于没有返回值。类似:
function refundUseCoupon(){ aa();//ajax...aa方法相当于是ajax方法。所以怎么返回也是无效的。本方法没有返回。 ...... //应该在ajax外面执行return操作 return true; }
下面的写法就可以了。
function refundUseCoupon(trxOrderGoodsId){ var result=false; $.ajax({ type:'GET', url:'<%=contextPath%>/ucenter/getCouponPayment.do', data:{"trxGoodsId":trxOrderGoodsId}, dataType:'json', cache : false, async : false, success:function(data){ if((data.couponId != null) && (data.couponId !='') && (data.couponId>0) ){ result= true; }else{ result= false; } }, error : function(error) { result= false; } }); return result;//在ajax之外执行return }
注意:async:false。设置为同步的,否则未等ajax执行完,就直接return初始的var resutt=false了。
ajax return返回值获取不到-【开发错误记录】。
最新推荐文章于 2022-09-14 14:28:02 发布