使用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文档中的success
和error
函数时,它们指的是jqXHR类的那些,而不是$.ajax()
的属性。