AngularJS - 服务器500错误没有通过拦截器

时间:2014-02-20 11:25:01

标签: angularjs interceptor

我有这个拦截器设置来读取我在所有请求中收到的XML: https://gist.github.com/SantechDev/539a70208d23d8918ce0

现在,当服务器返回500错误时,似乎响应不会通过拦截器。我尝试记录响应但没有出现

有人知道为什么吗?

1 个答案:

答案 0 :(得分:1)

我不知道你的工作方式,但我写的那些看起来完全不同......

var interceptor = ['$rootScope', '$q', "Base64", function (scope, $q, Base64) {
    function success(response) {
        return response;
    }
    function error(response) {
        var status = response.status;
        if (status == 401) {
           window.location = "/account/login?redirectUrl=" + Base64.encode(document.URL);
            return;
        }
        // otherwise
        return $q.reject(response);
    }
    return function (promise) {
        return promise.then(success, error);
    }
}];
$httpProvider.responseInterceptors.push(interceptor);

您可以查看full code here