jQuery ajax在404错误时不触发ajaxStop
我使用jquery1.2.6(遗留) 在我的常规配置中,我设置了以下选项:jQuery ajax在404错误时不触发ajaxStop,jquery,ajax,http-status-code-404,Jquery,Ajax,Http Status Code 404,我使用jquery1.2.6(遗留) 在我的常规配置中,我设置了以下选项: jQuery(document).ajaxStart(blockUI).ajaxStop(jQuery.unblockUI); 我有一个获取javascript文件的ajax函数: function initWebtrends() { console.debug("initWebtrends start"); var options = { url : "ajax/myj
jQuery(document).ajaxStart(blockUI).ajaxStop(jQuery.unblockUI);
我有一个获取javascript文件的ajax函数:
function initWebtrends() {
console.debug("initWebtrends start");
var options = {
url : "ajax/myjavascript.js",
success: function(data) {
console.debug("webtrends integration successfully done...");
},
error:function(msg) {
console.debug("error contacting webtrends client component...");
}
};
jQuery.ajax(options);
console.debug("initWebtrends stop");
}
当ajax得到正确响应时,所有这些都非常有效:ajaxStart和ajaxStop事件被触发。
但是当我收到404错误时,错误回调函数也不会被调用,ajaxStop事件也不会调用:在这种情况下,我没有收到任何错误,但我的页面仍然冻结,因为ajaxStart被触发,blockUI函数被执行
有没有办法处理这种情况?
我知道在jQuery1.5上有statusCode选项,但我必须让它在我的旧版本上工作
问候
马西莫
正如@Massimo Ugues在评论中指出的那样:statuscode不是
出现在jQuery 1.2.6中。它出现在jquery>1.5上
使用(jquery 1.5+中提供的) 您还可以将
statusCode
转到ajaxSetup
$.ajaxSetup({
statusCode: {
404: function() {
alert('page not found');
}
}
});
在您的版本中,是否可以使用success:,error:function这是真的,但是错误函数不会用404错误调用,如这里所述,状态代码在jQuery 1.2.6中不存在。它出现在jquery>1.5上。
$.ajaxSetup({
statusCode: {
404: function() {
alert('page not found');
}
}
});