BreezeJS 拦截服务器响应

BreezeJS intercept server response

由于 ASP.NET Identity 2.0 的问题,服务器 returns HTTP 200 有一条消息说 HTTP 400,我正试图拦截它以便将用户重定向到登录页面.这是我的代码,但该网站似乎不再有进展。我知道此问题已在 ASP.NET Identity 3.0 中得到解决,但目前无法解决。对下面的代码有什么想法吗?

var ajaxAdapter = breeze.config.getAdapterInstance('ajax');

ajaxAdapter.requestInterceptor = function (requestInfo) {
requestInfo.success = function (response) {
    // process response message here.
    return response;
}};

我最终通过将原始成功函数分配给一个变量然后在我自己的代码之后调用它来解决这个问题:

var ajaxAdapter = breeze.config.getAdapterInstance('ajax');

ajaxAdapter.requestInterceptor = function (requestInfo) {
var oldSuccessFn = requestInfo.success;

requestInfo.success = function (data, statusText, jqXHR) {
    if (data.Message == "Authorization has been denied for this request.") {
        signOut();
    } else {
        var result;
        oldSuccessFn.call(result, data, statusText, jqXHR);
        return result;
    }
},