【问题标题】:validating href link to file验证指向文件的 href 链接
【发布时间】:2010-04-23 05:05:27
【问题描述】:

我正在使用 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 验证返回的文件是否确实存在,如果不存在,则显示不同的图像?

【问题讨论】:

    标签: jquery validation href


    【解决方案1】:

    Javascript 无法查看您服务器上的文件。我猜你可以向服务器端发出 ajax 请求来检查文件是否存在。

    【讨论】:

    • 是否可以捕获 404 错误并重定向到不同的图像?
    【解决方案2】:

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

    您请求图像两次,但它可能在第一次尝试后被缓存。不确定。

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

    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 */ }
            }
        );
    

    不确定这是否是最好的方法,但似乎可行。

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 1970-01-01
      • 2010-12-30
      • 2012-09-16
      • 2011-05-31
      • 2014-05-23
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多