时间:2010-07-25 01:35:48

标签: jquery ajax image path load

6 个答案:

答案 0 :(得分:34)

答案 1 :(得分:21)

尝试:

function urlExists(testUrl) {
 var http = jQuery.ajax({
    type:"HEAD",
    url: testUrl,
    async: false
  })
  return http.status;
      // this will return 200 on success, and 0 or negative value on error
}

然后使用

if(urlExists('urlToImgOrAnything') == 200) {
    // success
}
else {
    // error
}

答案 2 :(得分:6)

我知道的旧帖子,但我认为可以改进。我注意到OP存在间歇性问题,这可能是由于图像加载和错误检查造成的。最好先让图像加载,然后检查错误:

$(".myimage").attr("src", imagePath).error(function() {
    // do something
});

答案 3 :(得分:4)

答案 4 :(得分:2)

这个问题已经有几年了,但对于任何看这个问题的人来说,这里的错误处理程序都是一个更好的示例。

$("img")
  .error(function(){
    $(this).hide();
  })
  .attr("src", "image.png");

在尝试加载图像以捕获事件之前,需要附加错误处理程序。

来源:http://api.jquery.com/error/

答案 5 :(得分:0)

这就是我的所作所为:

$.get( 'url/image', function(res){ 
    //Sometimes has a redirect to not found url
    //Or just detect first the content result and get the a keyword for 'indexof'
    if ( res.indexOf( 'DOCTYPE' ) !== -1 )  {
        //not exists
    } else {
        //exists
    }
});