2013-06-23 5 views
1

Есть ли способ отправить сообщение об ошибке обратно в JS, когда мы делаем $http.post?
Прямо сейчас, если есть сторона сервера ошибок, я возвращаю ответ с тегом «ошибка», но он успешно взят на стороне Angularjs.
Было бы лучше, если бы я отправил прямо к ошибке вместо того, чтобы иметь условие в успехе Углового.
Возможно ли это?Как отправить сообщение об ошибке в angularjs

+2

Возможный дубликат [AngularJS, $ resource и PHP errors] (http://stackoverflow.com/questions/16912664/angularjs-resource-and-php-errors) – Stewie

+0

Вы не упомянули, какой серверной технологии вы используете, но с помощью asp.net web api вы можете отправлять обратно коды ошибок HTTP вместо отправки строки. – jzm

ответ

4

Согласно AngularJS documentation for $http:

код состояния ответа от 200 до 299 считается состояние успеха и приведет к тому, обратный вызов вызывается. Обратите внимание, что если ответ является перенаправлением, XMLHttpRequest будет прозрачно следовать ему, что означает, что обратный вызов ошибки не будет вызван для таких ответов.

Если вы хотите, чтобы ваш HTTP-вызов привел к вызову обработчика ошибок, вам нужно вернуть код ответа без ответа 2XX (а также не перенаправлять, как указано). Вы можете найти довольно полный список кодов ответа HTTP here