Я выследить причину, почему я не могу видеть ответ от моего WebAPI в angularjs, используя $ HTTP, если код состояния меньше 200 и больше 300.Почему angularjs отбрасывает ответ сообщения для кодов статуса http <200 && > 300?
Я отлаженный angular.js к точка, в которой я понимаю что происходит (в основном его отбрасывая обещание, которое содержит данные, я заботиться о и создания нового без него, если коды состояния не считаются успехом)
-см код на https://github.com/angular/angular.js/blob/master/src/ng/q.js#L270-L280
этой . $$ state.value (удерживает http respone) по какой-то причине теряется в этой точке.
Имеет ли смысл опустить первоначальные значения? Я не собираюсь сообщать отчет об ошибке, не спрашивая здесь, прав я или нет.
Причина в том, что я обрабатываю информацию о кредитной карте на стороне сервера. Если процессор говорит о своей недопустимой карте, я бы не подумал, что это будет код 200, не так ли? См. Ответ на этот вопрос ..... Предложите 400 для бизнес-правил. Это все еще не работает в angularjs.
What is the appropriate HTTP status code response for a general unsuccessful request (not an error)?
Кроме того, FYI, httpInterceptors не работают либо, так как они используются после того, как происходит это "замена обещание.
Я не уверен, как повторение вашего заголовка в конце вашего вопроса делает этот вопрос очень хорошим для переполнения стека. – TylerH
Это не единственный клиент http, который делает это: у меня была аналогичная проблема с HTTP-коннектором Oracle Service Bus, которая отбрасывала ответы на некоторые коды. Это оптимизация, где они считают сообщения об ошибках для некоторых кодов неактуальными. – Aaron
Часть упомянутого вами углового кода абсолютно не связана с кодами состояния HTTP. – Pointy