验证href链接到文件

时间:2010-04-22 16:42:28

标签: jquery validation href

我正在使用JQuery动态添加图像文件的链接。

+ "<td><a class='IconButton' id='trkimg" + k + "' href='IMSTORE\/" + trackings[k].Image + "'><span class='ui-icon ui-icon-image'></span></td>"

此代码检查数据库是否返回了值,并在未返回任何内容时隐藏链接:

if (trackings[k].Image == null) { $("#trkimg" + k).html(""); $("#trkimg" + k).removeClass('CustomButton'); }

如何使用JQuery验证返回的文件是否确实存在,如果不存在,则显示不同的图像?

2 个答案:

答案 0 :(得分:1)

Javascript无法查看服务器上的文件。您可以向某个服务器端执行ajax请求,以检查该文件是否存在。

答案 1 :(得分:0)

根据SeanJA的建议,您可以使用ajax对图像进行“测试”,然后将图像实际附加到success回调中,或者在error回调中尝试另一个。< / p>

您要求图像两次,但可能在第一次尝试后进行缓存。不确定。

如果您想实际使用返回的图像,则需要对其进行编码。以下是有关如何执行此操作的说明的链接。但是没试过。

http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html

    var imageURI = "http://mydomain.com/myimage.jpg";
    $.ajax(
        {
            type:'get',
            dataType:'image/jpeg',
            url:imageURI,
            success:function() { $('body').append('<img src="' + imageURI + '" />'); },
            error:function() { /* Change url in imageURI variable, and try again */ }
        }
    );

不确定这是否是最佳方式,但似乎有效。