2012-03-20 43 views
2

我可以使用另一雙眼睛。這個腳本做我想在Chrome中(從谷歌Picasa網絡相冊呈現圖片庫),但在IE8中不呈現任何東西,任何人都可以看到任何明顯的東西?爲什麼這個腳本不會在IE中做任何事

$(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' 
    }); 
}); 
+0

您是否收到任何錯誤? – 2012-03-20 21:03:32

+0

我注意到的第一件事:失蹤;在URL字符串..第二行後..不知道..可能 – gpasci 2012-03-20 21:03:53

+1

@ gpasci只要你的代碼是在單獨的行你不需要分號,只是良好的做法,使用它們 – Snuffleupagus 2012-03-20 21:05:51

回答

3

替換:

dataType : 'json' 

dataType : 'jsonp' 

參見:http://jsfiddle.net/b36v5/2/

+0

這樣做的伎倆 - 謝謝。這裏是一個解釋json/jsonp的文章:http://stackoverflow.com/questions/4683114/sending-jsonp-vs-json-data – 2012-03-20 21:22:22

+0

@ E.J.Brennan:這將是一個很好的問題。我記得更積極地閱讀有關IE緩存請求。指定'jsonp'會停用緩存。你可以在* cache *下的http://api.jquery.com/jQuery.ajax/閱讀。 – 2012-03-20 21:32:09

1

這是關於跨域AJAX請求。您嘗試訪問的網站正確設置了access-control-allow-origin: *響應標頭,以允許支持CORS的瀏覽器的AJAX請求。部分地,IE supports CORS。事實上,在IE中爲了支持CORS,你必須使用一個名爲XDomainRequest的不同對象,如以下博客文章中所解釋的,以實現跨域請求。除了jQuery.ajax doesn't support it開箱即用。如果你仔細觀察錯誤票,你會發現它已經關閉,因爲there are plugins可以實現這個目標。