jQuery Ajax覆盖fail方法

时间:2014-08-26 01:35:08

标签: javascript jquery ajax

我试图覆盖如下所示的失败方法,但它会触发两种失败方法。

我得到2个警报“警报1”& “覆盖失败”

是否只能获得“覆盖失败”警报。

   var jqxhr = $.ajax("example.php")
       .done(function () {
       alert("success");
   })
       .fail(function () {
       alert("alert 1");
   });

   jqxhr.fail(function () {
       alert("override fail");
   }); 

1 个答案:

答案 0 :(得分:0)

你可以让你的失败回调调用另一个函数。

var failCallback = function () {
    alert("alert 1");
};

var jqxhr = $.ajax("example.php")
    .done(function () {
        alert("success");
    })
    .fail(function () {
        failCallback();
    });

// change the function stored in failCallback var
failCallback = function () {
    alert("override fail");
};

现在,您的失败回调将调用存储在failCallback变量中的函数。

我不知道你想做什么。但是,如果您想要的唯一事情是覆盖回调行为,那么这是可行的。