Jquery AjaxError未触发,can';t处理302或其他ajax响应
//首先对不起,我的英语不好 我在这里和网上读了很多关于这类问题的帖子,但是没有人帮我 我在我的网站上使用了许多jQueryAjax请求,有时是为了获得JSON响应,有时只是为了在页面中加载php/html内容 我使用jquery ajax方法创建了一个发送表单的通用函数,一切正常,但是现在,我需要处理XHR对象的“状态”,因为一些ajax请求需要由经过身份验证的用户完成,并且我必须解决会话超时的问题 当会话超时时,XHR通常返回302状态,因为在ajax调用的页面上,我执行“header location xxx” 问题是“简单的”:我无法成功地处理302或类似于jquery ajaxError的状态 我想使用jQueryAjaxError函数来处理我网站上的所有ajax请求。 当我调用带有标题位置的页面时,Firebug会向我显示302响应和位置,但jquery不会处理这些…:(Jquery AjaxError未触发,can';t处理302或其他ajax响应,jquery,status,Jquery,Status,//首先对不起,我的英语不好 我在这里和网上读了很多关于这类问题的帖子,但是没有人帮我 我在我的网站上使用了许多jQueryAjax请求,有时是为了获得JSON响应,有时只是为了在页面中加载php/html内容 我使用jquery ajax方法创建了一个发送表单的通用函数,一切正常,但是现在,我需要处理XHR对象的“状态”,因为一些ajax请求需要由经过身份验证的用户完成,并且我必须解决会话超时的问题 当会话超时时,XHR通常返回302状态,因为在ajax调用的页面上,我执行“header lo
您能帮助我吗?非常感谢更新jQuery 1.5。它允许执行以下操作:
$.ajax({
statusCode: {404: function() {
alert('page not found');
}
});
更新到jQuery 1.5。它允许执行以下操作:
$.ajax({
statusCode: {404: function() {
alert('page not found');
}
});
非常感谢,但是…与jquery 1.4.2相同的结果,302(后面是200,因为php重定向确定)无法处理:( 我和一个小“黑客”一起工作:
$.ajaxSetup({complete: onRequestCompleted});
function onRequestCompleted(xhr,textStatus) {
if (xhr.status == 410) {
window.location.href = xhr.getResponseHeader("Location");
}
}
在ajax加载页面上,我将:
header("Location:".FILENAME_LOGIN_SESSION_TIMEOUT, true, 410);
它工作得很好,但是…这是一个好的实践吗?非常感谢,但是…与jquery 1.4.2相同的结果,302(后面是200,因为php重定向确定)无法处理:( 我和一个小“黑客”一起工作:
$.ajaxSetup({complete: onRequestCompleted});
function onRequestCompleted(xhr,textStatus) {
if (xhr.status == 410) {
window.location.href = xhr.getResponseHeader("Location");
}
}
在ajax加载页面上,我将:
header("Location:".FILENAME_LOGIN_SESSION_TIMEOUT, true, 410);
这很好,但是…这是一个好的做法吗