Проверьте статус ошибки 404 в jquery - PullRequest
5 голосов
/ 02 марта 2012

Я использую этот код, чтобы получить некоторую информацию из твиттера через API:

        $.ajax({
            url : apiUrl,
            cache : false,
            crossDomain: true,
            dataType: "jsonp",
            success : function(html) {
                // ...
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log(jqXHR);
            }
        });

Однако, если переменная apiUrl предоставляет правильный URL-адрес, этот код работает нормально, т.е. объект успеха выполняется, но если URL-адрес неверен, например, Ошибка 404 возвращается из твиттера, объект ошибки никогда не выполняется. Он ничего не регистрирует в консоли. Как проверить статус ошибки 404 в этом случае?

Ответы [ 2 ]

3 голосов
/ 02 марта 2012

Из документов jQuery API ajax:

error option

Примечание. Этот обработчик не вызывается для междоменного сценария и JSONP. запросы.

http://api.jquery.com/jQuery.ajax/

2 голосов
/ 02 марта 2012

В соответствии с документацией используйте настройку statusCode в .ajax.

$.ajax({
  ...
  statusCode: {
    404: function(){
    }
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...