Chrome Developer Tools控制台会在每次找不到页面资源(包括图像)时记录错误(即返回404).
在我的工作中,我经常在第三方提供图像的网站上工作,在开发过程中可能无法使用.将每个丢失的图像显示为控制台中的错误会使其他更重要的错误(例如JavaScript错误)更难以注意到.
是否有一个设置可以阻止控制台将未显示的图像记录为错误?
或者是否有某种方法可以按照您可以在"网络"选项卡中筛选请求的相同标准来过滤控制台消息?
我知道如何接收服务器数据或错误.有很多方法.例如:
$.ajax({
type: "get",
url: "/widgets/",
success: function (data, text) {
console.log('this is a data');
},
error: function (request, status, error) {
console.log('this is an error');
}
});
Run Code Online (Sandbox Code Playgroud)
请看这个图像:
我有我的错误功能,我在那里做我需要的.如何防止第一行出错.我测试了4xx和5xx错误,但没有区别.我知道,当隐藏开发人员控制台时,最终用户不会看到此错误.
我需要这个来设计一个API.我知道我可以从服务器发送200个响应,并附加一个参数,表明这是一个错误或成功的结果.
但如果我可以发送4xx或5xx响应,则无需额外参数.这种方式对我来说有一些额外的收获.例如,我可以将成功结果应用于我的客户端模型,而无需担心额外的args.
谢谢
我正在通过jQuery ajax与CouchDB进行通信,并且REST合约预计会出现'404'错误.但对于每个以'404','412'结尾的请求,Google Chrome会在DevTools控制台中写一条红色错误行,如下所示:
是否有可能以某种方式配置jQuery,因此'404'不是给定请求的错误?假错误垃圾邮件杂乱输出,我可以错过真正的错误或一些console.log
看着数百个假的'404'和'412'"错误":).
我有一些代码在哪里进行提取调用.这利用了现代chrome/firefox中内置的window.fetch api.
代码有时会遇到401:未经授权的响应.这是正常的,我希望它被忽略,我可以用代码的流程做.但是,当我尝试运行它时,Chrome确实会显示一个难看的console.error消息.
我如何编程地防止此控制台错误显示在所有计算机上的开发控制台中(即,没有chrome dev过滤器或tampermonkey类型插件).
这是一个可以解决的样本:
fetch("http://httpstat.us/401", {requiredStatus: 'ok'})
.then(function() {
console.log("pass!");
}).catch(function() {
console.log("fail!");
});
Run Code Online (Sandbox Code Playgroud)
许多失败的jQuery ajax请求正在以错误污染我的控制台.查看产生这些控制台错误的代码(jQuery 1.7.2,第8240行)
// Do send the request
// This may raise an exception which is actually
// handled in jQuery.ajax (so no try/catch here)
xhr.send( ( s.hasContent && s.data ) || null );
Run Code Online (Sandbox Code Playgroud)
我注意到这个评论解释了为什么没有try
/ catch
那里.但是,即使error
我的jQuery.ajax
请求中有一个显式的回调函数,我仍然没有处理这些错误jQuery.ajax
.
如何以错误消息不出现在控制台中的方式处理jQuery ajax错误?
编辑:下面是我执行ajax请求的代码段,以及准确的错误消息(在Chrome中):
$.ajax({
dataType: 'xml',
url: "./python/perfdata.xml?sid=" + (new Date()),
success: function (data) {
var protocols = $("Protocols", data).children();
parseData(protocols);
},
error: function (error) {
setTimeout(getData, 200);
}
}); …
Run Code Online (Sandbox Code Playgroud) 我正在试图弄清楚如何在我的应用程序中抑制http请求和响应错误,例如当我的服务器发出错误请求时,我不希望将错误记录到浏览器控制台中.我已经尝试覆盖了$exceptionHandler
,但该逻辑适用于除HTTP错误之外的所有异常,这些异常仍然记录在浏览器中.我也创建了HTTP拦截器,但全局400 Bad Request
错误出现在我放入我的逻辑之前responseError
:
'responseError': function (rejection) {
console.log(rejection);
return $q.reject();
}
Run Code Online (Sandbox Code Playgroud)
这也不能抑制错误,任何想法?
编辑
我得到的错误是这样的:
POST http://localhost:38349/token 400 (Bad Request)
在我的应用程序中,我使用REST api来获取我的数据.如果发送这样的请求
$http.get('api/entity/' + $scope.entityId).success(/* DO STUFF */).error(/* DO STUFF */)
Run Code Online (Sandbox Code Playgroud)
在服务中,如果entityId不存在,我返回404.在错误函数中,我使用status(第二个参数)捕获它并以适当的方式对其进行操作.
令我恼火的是,如果抛出一个异常并且污染了javascript控制台,则会出现angular.它似乎发生在Angular.js:8165
有没有办法告诉棱角分析我是一个成年的开发人员,我将以一种不错的方式处理他认为是错误的事情?
换句话说,我可以告诉角度不输出那个废话吗?
谢谢,
我在工作中使用代理(使用NTLM身份验证).每当我加载页面时,我的Firebug控制台就会充斥着这样的消息:
"NetworkError: 407 Proxy Authentication Required - http://somewebsite/Scripts/jquery-1.8.2.min.js"
Run Code Online (Sandbox Code Playgroud)
它为该页面上引用的所有URL执行此操作:JS,CSS,Image,诸如此类.
令人讨厌的是该文件实际上已成功加载.似乎Firefox遇到407错误,垃圾邮件日志,然后无论如何使用NTLM凭据加载它.
有什么方法可以阻止这些无用的错误出现,所以他们不会淹没我真正感兴趣的控制台消息吗?
基本上,我必须创建一个javascript APP对象,它将为服务器排队一系列异步请求,处理对JSON的响应,并从中记录错误.
使用"try-catch"可以轻松捕获JSON处理错误,但是仍然会在浏览器的控制台中显示404,500等服务器错误,而我需要在"APP.history"中静默登录.
我尝试通过下面的代码实现它,但没有404错误触发一个错误.我究竟做错了什么?
xhr = new XMLHttpRequest();
xhr.open("GET", url, true)
xhr.onerror = function(){console.log("error")}
xhr.upload.onerror = function(){console.log("error")}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,如何使用jQuery AJAX?