Можете ли вы отложить статусCode в JQuery 1,5? - PullRequest
3 голосов
/ 02 марта 2011

Я вижу, что они добавили функцию для кодов состояния

statusCode (добавлено 1.5) Карта По умолчанию: {} A карта числовых кодов HTTP и функции, которые будут вызываться, когда ответ имеет соответствующий код. Например, следующее предупредит когда статус ответа 404:

$.ajax({   statusCode: {404: function() {
    alert('page not found');   } }); 

Если запрос выполнен успешно, функции кода состояния принимают то же самое параметры как обратный вызов успеха; если это приводит к ошибке, они принимают те же параметры, что и ошибка

Мне интересно, можете ли вы сделать что-то вроде $.ajax({...}).statusCode(function(){...});

Симлиар о том, как ты можешь

var jqxhr = $.ajax({ url: "example.php" })
    .success(function() { alert("success"); })
    .error(function() { alert("error"); })
    .complete(function() { alert("complete"); })

1 Ответ

4 голосов
/ 02 марта 2011

Да, вы можете. Функция, насколько я могу судить, недокументирована, но функциональность выглядит точно так, как вы и ожидаете - вы передаете карту объектов функций-обработчиков, где ключ - это код ответа HTTP, а значение - обработчик. функция. См. Исходный код .

Пример

$.ajax({ url: "example.php" })
    .statusCode({
        200: function(){
            alert('success');
        },
        404: function(){
            alert('not found');
        }
    });
...