为什么这个脚本不能在IE中做任何事情

时间:2012-03-20 21:01:13

标签: javascript jquery picasa

我可以用另一双眼睛。这个脚本在Chrome中做我想要的(从谷歌picasa网络相册中呈现图像库),但是在IE8中没有呈现任何内容,任何人都可以看到任何明显的东西吗?

    $(function () {
    var json_Photo_URI = "https://picasaweb.google.com/data/feed/base/user/111727095210955830593/albumid/5420114965919213729?alt=json&fields=entry(title, media:group)&thumbsize=75"
    $.ajax({
        type: 'GET',
        url: json_Photo_URI,
        success: function (data) {

            var photo_URL = "";
            var photo_Thumb_Url = "";

            $.each(data.feed.entry, function (i, item) {
                $.each(item.media$group.media$content, function (i, item) { photo_URL = item.url; });
                $.each(item.media$group.media$thumbnail, function (i, item) { photo_Thumb_URL = item.url; });

                var photo_Description = item.media$group.media$description.$t;

                $('#gallery').append("<a href='" + photo_URL + "' title='" + photo_Description + "'><img src='" + photo_Thumb_URL + "'></a>");
            }); 

            $('#gallery a').lightBox({ txtImage: 'Photo', txtOf: '/' });
        }, dataType: 'json'
    });
});

2 个答案:

答案 0 :(得分:3)

替换:

dataType : 'json'

dataType : 'jsonp'

请参阅:http://jsfiddle.net/b36v5/2/

答案 1 :(得分:1)

这是关于跨域AJAX请求。您尝试正确访问的站点设置access-control-allow-origin: *响应标头,以允许对支持CORS的浏览器的AJAX请求。而IE supports CORS,部分。实际上在IE中为了支持CORS,您必须使用名为XDomainRequest的不同对象,如以下博客文章中所述,以实现跨域请求。开箱即用jQuery.ajax doesn't support it除外。如果您仔细查看错误标签,您会看到它已关闭,因为there are plugins允许实现该错误。