Почему этот скрипт ничего не делает в IE - PullRequest
2 голосов
/ 21 марта 2012

Я мог бы использовать другую пару глаз. Этот скрипт выполняет то, что я хочу в Chrome (отображает галерею изображений из веб-альбома Google 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 ]

3 голосов
/ 21 марта 2012

Заменить:

dataType : 'json'

на

dataType : 'jsonp'

См .: http://jsfiddle.net/b36v5/2/

1 голос
/ 21 марта 2012

Речь идет о междоменных запросах AJAX. Сайт, к которому вы пытаетесь получить доступ правильно, устанавливает заголовок ответа access-control-allow-origin: *, чтобы разрешить запросы AJAX для браузеров, которые поддерживают CORS. И IE поддерживает CORS , частично. Фактически в IE для поддержки CORS вы должны использовать другой объект с именем XDomainRequest, как описано в следующем сообщении в блоге, для достижения запросов между доменами. За исключением того, что jQuery.ajax не поддерживает его из коробки. И если вы посмотрите внимательнее на ошибку, вы увидите, что она закрыта, потому что есть плагины , которые позволяют этого достичь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...