jQuery是否有可能通过statusCode?

时间:2013-04-03 00:58:56

标签: jquery

有人能告诉我是否可以通过jquery statusCode将一个状态代码传递给下一个状态代码,以便一个响应可以处理2个状态代码?下面的代码有一个错误,但它显示了我想要达到的目标...... 400一直到404。


    ,statusCode: {
         200: function (response) {
            alert('200');
        }
        ,201: function (response) {
            alert('201');
        }
        ,400:
        ,404: function (response) {
            alert('400 or 404');
        }
    }

1 个答案:

答案 0 :(得分:1)

您可以做的最好的事情是命名匿名函数并将对该函数的引用传递给statusCode对象:

var badRequestOrNotFound = function () {
    alert('400 or 404');
};

$.ajax({
    statusCode: {
        200: function (response) {
            alert('200');
        }
        ,201: function (response) {
            alert('201');
        }
        ,400: badRequestOrNotFound
        ,404: badRequestOrNotFound
    }
});

您还可以完全放弃statusCode选项,并利用status参数的xhr属性传递error回调:

$.ajax({
    error: function (xhr) {
        switch (xhr.status) {
            case 404:
            case 400:
                alert('400 or 404');
                break;
            case 200:
                alert('200');
                break;
            case 201:
                alert('201');
                break;
        }
    }
});