jQuery ajax请求为Deferred - 包装失败回调

时间:2015-03-05 16:42:19

标签: jquery ajax jquery-deferred abort

我的网络应用程序以

形式进行了所有ajax调用
$.post(url, data, successCallback).fail(failCallback)

我需要在某些情况下引入中止机制。

由于调用.abort()也会触发failCallback,我试图找出一种方法(如果有的话),拦截中止失败并且不会触发回调。

1 个答案:

答案 0 :(得分:1)

我不能做到这一点,当调用abort时,ajax请求失败,并调用fail方法。

我认为你最接近的是检查错误并有条件地调用函数,因为中止会抛出abort作为错误(和状态)

$.post(url, data, successCallback).fail(function(xhr, status ,err) {
   if (err !== 'abort')
       failCallback();
});

FIDDLE