无法获得jQuery ajax来响应200以外的任何状态响应

时间:2015-08-28 19:26:30

标签: jquery ajax http

我正在尝试让jQuery ajax告诉我来自网址的状态响应代码,但它似乎仅在200时才会响应。

我所做的是设置一个localhost PHP表单,并从这个站点传递URL:http://savanttools.com/test-http-status-codes返回状态代码到jQuery的ajax函数。

以下是接收网址的代码,我已经评论了我得到的回复。基本上,除非响应是200,否则我似乎无法获得任何有意义的东西,而我希望脚本能够识别任何状态响应代码。任何帮助表示赞赏!

function UrlStatus(url) {
    $.ajax({
        url: url,     
        dataType: 'jsonp',
        statusCode: {
            404: function() { console.log("status code 404"); }, // not triggered regardless of status
            200: function() { console.log("status 200"); }, // only triggered when status is 200
            502: function() { console.log("status 502"); } // not triggered regardless of status
        },
        jsonpCallback: function() {
            console.log("jsonp callback"); // always triggered regardless of status
        },
        complete: function() {
            console.log("complete"); // only triggered when status is 200
        },
        error: function() {
            console.log("error"); // only triggered when status is 200
        },
        success: function() {
            console.log("success"); // not triggered regardless of status
        }
    }).fail(function() {
        console.log("fail"); // only triggered when status is 200
    }).always(function() {
        console.log("always"); // only triggered when status is 200
    }).done(function() {
        console.log("done"); // not triggered regardless of status
    });
}

0 个答案:

没有答案