使用jQuery AJAX捕获404状态

我有这个代码:

$.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?

替换您的错误function如下…

 error:function (xhr, ajaxOptions, thrownError){ if(xhr.status==404) { alert(thrownError); } } 

404错误将由连接到error属性的匿名函数处理。 除了成功的HTTP请求(即2xx)之外的任何内容都将触发错误方法。 以下内容适用于您的目的:

 error : function(jqXHR, textStatus, errorThrown) { if(jqXHR.status == 404 || errorThrown == 'Not Found') { console.log('There was a 404 error.'); } } 

当他们提到删除jQuery文档中的successerror函数时,它们指的是jqXHR类的那些,而不是$.ajax()的属性。