2016-06-23 5 views
0

Я использую $httpbackend.

Когда мы издеваемся над конкретным сервисом, мы затем отвечаем на него кодом состояния, например, 200-209, который запускает ветвь ветви успеха и другие триггеры.

Мое обслуживание может отправлять ответ с другим кодом состояния, и я должен перенаправить пользователя на страницы с ошибками.

Если я отвечаю 401, или 500 код состояния, ветка ошибки выполняется. как я могу получить этот код состояния в ветке успеха.

http://plnkr.co/edit/bDVf9hGdqUZgYTNsm3X9?p=preview

+1

Это ожидаемое поведение, поскольку 401 и 500 являются кодами ошибок в HTTP. Вы можете сделать логику перенаправления в самом обработчике ошибок. –

+1

@MahendraSingh: ваш комментарий должен быть ответом. – MarcoS

+0

Я отправлю более формальный ответ. Спасибо за предложение. –

ответ

1

Согласно $ источника HTTP, метод isSuccess используется для определения, если обратный вызов будет называться или нет. Вот определение метода isSuccess от источника $http src

function isSuccess(status) { 
    return 200 <= status && status < 300; 
} 

Все другие коды приведет к ошибке обратного вызова будет называться.

Таким образом, перенаправление страницы ошибки должно выполняться в обратных вызовах ошибки.

Надеюсь, это поможет.