我有这段代码:
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
alert(ajaxContext.responseText)
}
});
我仍然对ajaxContext以及如何捕获404返回码感到困惑。不过我有另一个问题。我正在阅读有关成功编码和失败的内容,并且在最近的jQuery版本中不再使用错误。
因此,我应该将代码更改为使用完成并失败。那怎么能检查404?
答案 0 :(得分:30)
将错误功能替换为以下内容......
error:function (xhr, ajaxOptions, thrownError){
if(xhr.status==404) {
alert(thrownError);
}
}
答案 1 :(得分:4)
404错误将由连接到error
属性的匿名函数处理。除了对URL的成功HTTP请求(即2xx)之外的任何内容都将触发错误方法。以下内容适用于您的目的:
error : function(jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 404 || errorThrown == 'Not Found')
{
console.log('There was a 404 error.');
}
}
当他们提到删除jQuery文档中的success
和error
函数时,它们指的是jqXHR类的函数,而不是$.ajax()
的属性。