在Error上运行AJAX Success回调

时间:2017-12-19 20:49:39

标签: jquery ajax

我正在尝试使用以下代码缓存jQuery ajax数据:

var CACHE={}
$(document).ajaxSuccess(function (event, jxhr, settings) {
    //cache return data
    CACHE[settings.url] = JSON.stringify(jxhr.responseJSON);
});

并在每个其他ajax发送事件上检查此CACHE。如果找到,则中止调用并返回本地缓存数据。

$(document).ajaxSend(function (event, jxhr, settings) {
    if (CACHE[settings.url]) {
        jxhr.abort();
        jxhr.responseJSON = JSON.parse(CACHE[settings.url]);
        jxhr.status = 200;
        jxhr.statusText = "OK";
        jxhr.readyState = 4;
    }
});

问题是abort()会自动调用fail()回调。如何阻止此操作并运行success()回调?

0 个答案:

没有答案