示例
此外.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回调相同的参数。