2

谁能告诉我是否有可能使用 jquery statusCode 将一个状态代码切换到下一个状态代码,以便一个响应可以处理 2 个状态代码?下面的代码有一个错误,但它显示了我想要实现的目标...... 400 下降到 404。

    ,状态码:{
         200:功能(响应){
            警报('200');
        }
        ,201: 函数(响应){
            警报('201');
        }
        ,400:
        ,404:函数(响应){
            警报('400 或 404');
        }
    }

4

1 回答 1

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属性:xhrerror

$.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;
        }
    }
});
于 2013-04-03T01:03:39.163 回答