Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以捕获被客户端阻止的net::ERR\u?_Javascript_C#_.net_Google Chrome - Fatal编程技术网

Javascript 是否可以捕获被客户端阻止的net::ERR\u?

Javascript 是否可以捕获被客户端阻止的net::ERR\u?,javascript,c#,.net,google-chrome,Javascript,C#,.net,Google Chrome,因此,在我们的网站上,我们有各种各样的搜索,其中一些搜索效果良好,并返回适当的结果。但是,其中一些会返回javascript错误: 无法加载资源:在上搜索时,网络::错误\u被\u客户端阻止\u 我的机器 我发现问题在于我在谷歌Chrome上运行AdBlocker,是AdBlocker造成了这个问题。现在我知道我可以关闭AdBlocker,这很好,我已经关闭了,但是有没有办法让我在javascript中捕捉到这个错误,并向用户报告为什么他们没有得到任何搜索结果 理想情况下,我想要的是类似c#tr

因此,在我们的网站上,我们有各种各样的搜索,其中一些搜索效果良好,并返回适当的结果。但是,其中一些会返回javascript错误:

无法加载资源:在上搜索时,网络::错误\u被\u客户端阻止\u 我的机器

我发现问题在于我在谷歌Chrome上运行AdBlocker,是AdBlocker造成了这个问题。现在我知道我可以关闭AdBlocker,这很好,我已经关闭了,但是有没有办法让我在javascript中捕捉到这个错误,并向用户报告为什么他们没有得到任何搜索结果

理想情况下,我想要的是类似c#try/catch的东西

编辑: 好的,在进行了一些挖掘,并从下面的评论中指出了正确的方向之后,我认为我已经推断出了这个问题,希望这将有助于其他人


阅读之后,我想用我们目前运行的jQuery版本(1.10.x)无法完成我试图完成的任务,因此我想解决方案是使用新版本的jQuery(2.x),看看我是否能捕捉到错误

不幸的是,您无法捕捉到具体的错误消息,但您可以捕获错误本身:

$.ajax({
  url: 'http://openx.net',
  dataType: 'json',
  success: function( data ) {
    console.log( "Success:", data);
  },
  error: function( data ) {
    console.log( "Error:", data);
  }
});

显然,该示例没有请求JSON,但您可以看到它失败并调用错误处理程序


例如,当像Adblock这样的插件(如您所述)取消请求时,Chrome就会触发这些错误

如果您有任何广告拦截器,请为URL禁用它们。

可能的重复:由于网络请求会出现这种情况,如果是XHR,您可以检测到故障。如果它是一种资产,那么它就有点困难。这是Chrome通过指令阻止某些请求。因此严格来说,它不是XHR,而是使用$.getJSON()发送请求并检索结果。我在这里看了一下:看起来我必须更改请求的发送方式……但是该链接显示您可以使用
.error(function(){alert(“error”);}
处理错误()。。在这种情况下,这对您不起作用吗?如果您希望从浏览器中捕获该错误,很遗憾,这是不可能的。您只能收到一般错误消息。不幸的是,我没有尝试
.error(function(){alert('error');})
.onerror(函数(){alert('error');})两者都返回javascript错误不是函数我已经尝试过了,但是我没有得到任何输出到控制台:
$.ajax({type:'get',url:url,contentType:'application/json',dataType:'json',success:function(data){//do stuff},error:function(err){console.log(“error:,err);})我已经让它工作了。确保广告块已打开,错误将出现在控制台中。我是gunna,请将此标记为已回答,因为您的链接对我有效,我的代码中显然缺少某些内容,希望我能找到它!谢谢你!请注意:这对jQuery 1不起作用。x:net::ERR_CONNECTION_TIMED_OUT是不同的,而不是控制台响应。问题是如何捕获此错误,而不是避免它。