每日总结:jquery的ajax以及阻止默认事件

今天该bug,遇到一个情况,有一个修改按钮,按钮是有href属性的,在点按钮之前需要向后端请求一下,后端会返回一个标识,然后根据这个标识判断是否要跳转。

刚开始是想在回调里判断标识,如果失败阻止默认事件,并做接下来的处理,但是一直行不通。后来改成点击的时候就阻止,成功了,代码如下:

$(".edit").on("click", function(event){
          event.preventDefault();
          var url = createLink('order', 'checkSaleBeforeEdit', 'id=' + v.orderID);
          var _this = $(this);
          var href = _this.attr('href');
          $.ajax({
            'url':url,
            'type':'post',
            'dataType':'json',
            success:function(data){
              if(data.result == 'fail'){
                alert(v.cantEdit);
                history.go(0);
              }else{
                location.href = href;
              }
            }
          });
      });
    }

过程中还遇到一个问题,本以为回调函数里的作用域跟on函数的作用域不一样,想着变量通过参数传入,后来查资料发现不用,可以直接传入。

发表评论

电子邮件地址不会被公开。 必填项已用*标注