jQuery ajax 延迟请求 - 包装失败回调

jQuery ajax requests as Deferred - wrap fail callbacks

我的网络应用程序的所有 ajax 调用都采用以下形式

$.post(url, data, successCallback).fail(failCallback)

我的需求是引入一种在某些情况下发生异常终止的机制。

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

我不认为你真的可以做到这一点,当调用 abort 时,ajax 请求失败,并调用 fail 方法。

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

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

FIDDLE