2016-05-17 4 views
0

Использование перехватчика в Angularjs, у меня есть вопрос. Мне нужно контролировать статус 403, но в моем приложении, когда API возвращает 403, приложение делает выход из системы. API вернет 403 в специальном случае. Я не хочу, чтобы перехватчик выходил из системы, и я не знаю, когда я могу найти какой-то атрибут, возвращаемый API.Как контролировать реакцию в перехватчике

responseError: function(rejection) { 

    if (rejection.status === 0) { 
     //some stuff 
    } 
    else if (rejection.status === 401 || rejection.status === 403){ 
     $injector.get("Service").logout(); 
    } 

Можно ли получить атрибуты, возвращаемые API в объекте отклонения?

ответ

1

если вы посмотрите rejection объект в консоли, вы увидите его возвращает свойство данных, которая является ответом API

responseError: function(rejection) { 

    console.log(rejection.data) //API response data 

    if (rejection.status === 0) { 
     //some stuff 
    } 
    else if (rejection.status === 401 || rejection.status === 403){ 
     $injector.get("Service").logout(); 
    } 
+0

Если я отправить POST к/API/метод/108, и я получаю сообщение об ошибке. Могу ли я получить сообщение 108 из сообщения об ошибке? Или я должен спасти его сам? –

+1

да, вы можете получить данные запроса как 'rejection.config.data' и запросить url' rejection.config.url' – aseferov

Смежные вопросы