Я делаю AJAX запросы, используя следующий формат:Как создать обратный вызов ошибки при сбое запроса JQuery AJAX?
$post('url', {someData:true}, myCallbackFunction, 'json);
Проблема заключается в том, если на стороне сервера любой код, кроме 200 возвращается, функция обратного вызова не вызывается.
Например, если сеанс пользователя был отключен, я хочу вернуть 401 (неавторизованный) в качестве кода состояния вместе с объектом JSON в качестве результата, который имеет сообщение об ошибке. Но, если код статуса не равен 200, функция обратного вызова не вызывается.
Любые идеи, как обойти это?
Попробуйте использовать ['.done()'] (http://api.jquery.com/deferred.done/) и ['.fail()'] (http://api.jquery.com/deferred .fail /) или даже просто '.fail()', если ваш обратный вызов успеха работает нормально. –