假设我定义了一些全局Ajax事件处理程序(ajaxStart,ajaxStop和ajaxError).通常我对此很好,但对于一个请求,我想要禁用ajaxError处理程序,但仍像往常一样运行ajaxStart和ajaxStop处理程序.在jQuery的AJAX功能的文件中提到,可以设置为false,并传递到$就功能禁用所有全局AJAX事件处理程序的"全球性"的参数,但他们没有提及任何办法只能禁用一些全球处理器.
我可以通过对传递给ajaxError函数的ajaxSettings对象的"url"属性进行测试来阻止ajaxError处理程序,但这看起来有点笨拙.这里有没有人知道一种方法来禁止运行ajaxError函数,这对于那些正在调用$ .ajax函数的地方的人来说是很清楚的吗?
如果有人想看,我可以提供一个简单的例子.
我正在编写一个脚本,该脚本使用XMLHttpRequest来搜索由相对路径定义的文件,尝试解析该脚本可识别的其他相同域绝对路径的相对路径,然后尝试从已解析的文件中加载该文件网址.如果我遇到404,我只是尝试将文件相对路径解析为另一个绝对路径,然后再试一次.对于这个特殊的脚本,它完全可以遇到404-然而,我的控制台上到处都是"无法加载资源:服务器响应状态为404(未找到)消息,我想要抑制它们.
据我所知,没有错误可以捕获 - 错误情况由xmlHttpRequest.onreadystatechange处理程序处理,并且没有window.onerror.
有没有办法压制这些消息?
谢谢
javascript google-chrome xmlhttprequest google-chrome-devtools
我尝试发生404错误,因为源(src)丢失了..
var $chart = $("<img />")
.addClass("trend-pic")
.error(function(){
console.log("error loading..")
});
try{
$chart.attr("src", jobs[counter].url + "test/trend")
}catch(err){
$chart.attr("src", "");
}
Run Code Online (Sandbox Code Playgroud)
如果尝试了许多东西来捕捉错误,即最后放一个.error(function(){}).使用$chart.load()- 方法检查图像是否被加载?没有那些帮助?
GET {myURLString} 404 (Not Found)
浏览器:Safari