jQuery ajax return值的获取方法

<a href="https://www.linuxidc.com/test.jsp"><img src="https://www.linuxidc.com/xxxxxxx"/></a>

ajaxCheck是ajax后台服务端判断并返回验证结果true,false。

要求ajaxCheck返回false时不要调到test.jsp页面。

ajax都知道是异步的,不等到ajaxCheck返回时都已经跑到test.jsp页面了,所以不行。

方法一:

<img src="https://www.linuxidc.com/xxxxxxx"/>

checkCart : function(){
  $.ajax({
         type: "POST",
         url: "xxxxxxxx",
         data: "",
         success: function(msg){
             Cart.handleCheckCart(msg);
         }
  });
 },
 
 handleCheckCart : function(data){
  var c = eval(data);
     if(!c) {
         return;
     }
     if(c.error>0) {
         alert(unescape(c.msg));
         return;
     }
     document.location.href="../test.jsp";
 }

可以但是如果涉及命名空间不同的时候就容易找不到路径。而且也显得很勉强,很不专业。

方法二:

checkCart : function(){
  var s = true;
  $.ajax({
         type: "POST",
         async:false, //同步;
         url: "user/orderDeliver!checkCart",
         data: "",
         success: function(msg){
          s = Cart.handleCheckCart(msg);
         }
  });
  return s;
 },
 
 handleCheckCart : function(data){
  var c = eval(data);
     if(!c) {
         return false;
     }
     if(c.error>0) {
         alert(unescape(c.msg));
         return false;
     }
     return true;
 }

解决问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwjygf.html