搜索图像并获取链接

时间:2012-09-17 09:02:05

标签: jquery image search

我使用以下代码搜索图像,然后将链接存储到textarea。

但是有一个问题,我不知道如何解决它。只有在我允许alert显示时才有效。

var links = '' , file = '' , img_exist = '';
$('a:has(img)').filter(function() {
    return $(this).attr('href').match(/(jpg)$/);
}).each(function(){
    file = $(this).attr('href');
    $.ajax({
        url:file,
        type:'HEAD',
        error: function(){
            img_exist = false;
        },
        success: function(){
            img_exist = true;
        }
    });
    //alert('WTH?');
    if ( img_exist == true ){
        links = links + file + '\n';
    }
});
$('#sfi_link').val(links);

2 个答案:

答案 0 :(得分:2)

您的if语句在浏览器发送后立即执行。 它不等待响应,因为AJAX是异步

您必须将links = links + file + '\n';放入success回调中。

答案 1 :(得分:0)

问题是您使用异步调用作为ajax请求。

之后发生异步回调
if ( img_exist == true ){
        links = links + file + '\n';
}

所以我的建议是将此代码放入success函数。