jQuery 使用$ .ajax()处理HTTP响应代码


本文向大家介绍jQuery 使用$ .ajax()处理HTTP响应代码,包括了jQuery 使用$ .ajax()处理HTTP响应代码的使用技巧和注意事项,需要的朋友参考一下

示例

此外.done,.fail与.always承诺的回调,这是基于该请求是否成功与否触发,有触发功能,当一个特定的HTTP状态代码从服务器返回的选项。可以使用statusCode参数来完成。

$.ajax({
    type: {POST or GET or PUT etc.},
    url:  {server.url},
    data: {someData: true},
    statusCode: {
        404: function(responseObject, textStatus, jqXHR) {
            // 找不到内容(404)
            // 如果服务器返回404响应,则将执行此代码
        },
        503: function(responseObject, textStatus, errorThrown) {
            // 服务不可用(503)
            // 如果服务器返回503响应,则将执行此代码
        }           
    }
})
.done(function(data){
    alert(data);
})
.fail(function(jqXHR, textStatus){
    alert('Something went wrong: ' + textStatus);
})
.always(function(jqXHR, textStatus) {
   alert('Ajax request was finished')
});

如官方jQuery文档所述:

如果请求成功,则状态码函数采用与成功回调相同的参数;如果导致错误(包括3xx重定向),则它们将使用与error回调相同的参数。