2014-12-04 2 views
4

У нас есть Web API, который имеет действие, которое возвращает BadRequest(), которая является 400JQuery AJAX вызов Web API возвращает статус 240, когда действие API контроллер возвращает BadRequest()

вызов к API выглядит как это:

$.post("/api/controller/action", {test:"Bad data"}).success(function(data){ 

    console.log(data) 

}); 

АНИ метод Действие контроллера возвращает IHTTPActionResult из BadRequest («Неверные данные получили»); Инспектор Chrome проверяет, что возврат был 400, Fiddler verifys 400, но jQuery запускает свой метод успеха и console.log (данные); показывает нам, что data.status = 240.

Я не думаю, что это просто jQuery, потому что служба $ http службы AngularJS делает то же самое.

+0

У меня есть точно такие же вещи, Почтальон возвращается СОСТОЯНИЮ 240 Bad Request. Это похоже на противоречие. Код 2xx означает успех, но в тексте состояния говорится «Плохой запрос». Только в Chrome/Firefox. IE возвращает его правильно. –

+0

Как вы точно возвращаете этот статус? – JotaBe

+0

Обновление: я свернул его, и он корректно возвращает код состояния 400. –

ответ

1

Я получил это исправление, удалив все подозрительные расширения из Chrome и Firefox. Я понял, что у меня установлен Trovi, что является вирусом, вызывающим некоторые переадресации (видимо). Так оказалось, что это стороннее программное обеспечение, работающее с моими браузерами.

Перейдите по этой ссылке, чтобы очистить свой ПК: http://www.anvisoft.com/resources/how-to-remove-trovi-com-browser-hijacker-trovi-com-removal-guide/

Тот же вызов почтальона, как и раньше теперь правильно показывает мне 400 Bad Request вместо 240.

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