如何消除控制台中的404网址错误?

15
我尝试消除由于源(src)丢失而发生的404错误。
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", "");
}    

我尝试了很多方法来捕获错误,例如在结尾处添加一个.error(function(){})。 使用$chart.load()方法来检查图片是否加载成功? 这些方法都没用?

GET {myURLString} 404 (未找到)

浏览器:Safari


这不是一种你可以预防的错误,除了确保图像始终存在之外。你必须发出请求,它才会出现在网络请求/控制台中。 - epascarello
1
因为确实发生了404错误,所以它告诉你发生了404错误。避免的唯一方法是在服务器上使用代理脚本。 - Alex K.
1
请查看此文章:https://dev59.com/f2w05IYBdhLWcg3wxkqr - BishopZ
4个回答

1

你不能真正从控制台中删除那些404错误。最好的方法是进行一些ajax请求并查看返回代码,但是这将限制您只能请求自己域名下的内容。

编辑--

哦,是的,那些错误仍将显示在“请求”选项卡中!它们只是不会出现在“控制台”选项卡(在Chrome中)。


0

我认为除了使用正确的URL之外,没有办法从控制台中消除错误。 在你的代码中,使用try {} catch()会抛出错误,然后$chart.attr将再次以空字符串调用。

你可以在设置.attr()之前添加一个检查,像这样:

if (jobs[counter].url !== void 0 && 
    jobs[counter].url.length !== 0) {

       $chart.attr("src", jobs[counter].url + "test/trend")
}

所以你可以移除 try{} catch()。

希望能帮到你。


如果 jobs[counter].url 存在,就足够了,因为 undefined"" 都是假值。 - 1j01

-3

-4

404不是错误。这是服务器告诉客户端它没有请求的资源的方式。


在我的Firebug控制台中,它将404错误称为“NetworkError”。 - dsdsdsdsd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接