jQuery检查状态

时间:2010-06-17 09:59:25

标签: jquery ajax

此功能每次都会提供“false”,即使image_url存在

// some .each {
    var item = $('.item', this);
    $.ajax({
        url: image_url,
        success: function() {
            item.html("true");
        },
        error: function() {
            item.html("false");
        }
    });
// }

用于检查image_url文件的存在 - 此变量提供类似http://blog.com/teddybear.png的网址

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

由于same-origin policy阻止从其他域获取任何数据,因此您无法执行此类操作。

然而,有希望!您可以对error元素使用<img>事件来查看它是否存在,如下所示:

function testImage(url) {
    $("<img />", { 
      error: function() { item.html('false'); }, 
      load: function() { item.html('true'); }
    })​​.attr('src', url);
}

You can view a quick demo here,它测试 存在的图像,等待2秒然后尝试不存在的图像。这使用$(html, props)创建方法创建<img>元素,分配事件,然后设置src,我们只是检查哪个事件被击中作为通过/失败检查。