AngularJS - ошибка сервера 500 не проходит через перехватчик

У меня есть настройка перехватчика для чтения XML, который я получаю по всем своим запросам: https://gist.github.com/SantechDev/539a70208d23d8918ce0

Теперь, когда сервер возвращает ошибку 500, похоже, что ответ не проходит через перехватчик. Я попытался зарегистрировать ответ, но ничего не приходит

Кто-нибудь знает, почему?


person Got The Fever Media    schedule 20.02.2014    source источник


Ответы (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);

вы можете ознакомиться с полным кодом здесь< /а>.

person Gecko    schedule 20.02.2014
comment
Извините за поздний ответ. На самом деле я забыл установить transformError. Так что ваш ответ правильный - person Got The Fever Media; 14.03.2014