Вызов jQuery AJAX к веб-API возвращает статус 240, когда действие контроллера API возвращает BadRequest()

У нас есть веб-API с действием, которое возвращает BadRequest(), что равно 400.

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

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

    console.log(data)

});

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

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


person Victorio Berra    schedule 04.12.2014    source источник
comment
У меня то же самое, Почтальон возвращает STATUS 240 Bad Request. Что кажется противоречием. Код 2xx означает успех, но в тексте состояния указано «Неверный запрос». Только в Chrome/Firefox. IE возвращает его правильно.   -  person Grzegorz Kaczan    schedule 29.01.2015
comment
Как именно вернуть этот статус?   -  person JotaBe    schedule 29.01.2015
comment
Обновление: я свернул его, и он правильно возвращает код состояния 400.   -  person Grzegorz Kaczan    schedule 29.01.2015


Ответы (1)


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

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

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

person Grzegorz Kaczan    schedule 29.01.2015