2010-08-13 74 views
3

爲什麼我有這樣那樣的錯誤在我的代碼:Flickr的API錯誤,JSON回調

「錯誤:沒有定義jsonFlickrApi」

$.getJSON('http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=669158895706254986e97354a3c7e9a9&photoset_id=72157623477817483&extras=original_format&format=json&jsoncallback;=?', 
    function(data){ 
     var classShown = 'class="lightbox"'; 
     var classHidden = 'class="lightbox hidden"'; 


     $.each(data.photoset.photo, function(i, rPhoto){ 
      var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/' 
       + rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret; 
...... 

有在JSON數據類型或某事賽姆問題否則,建議我如何解決它,請

感謝

回答

6

您的網址的結尾有點過了,這樣的:

....&jsoncallback;=? 

應該是:

....&jsoncallback=? 

的jQuery在它自己的這個方法填充一個動態命名功能(你function(data)被轉換成這個命名的函數或JSONP工作)。由於格式已關閉,因此不能正確替換此格式,並且默認格式爲jsonFlickrApi

如果您訪問url directly(這是沒有回調),你會看到它看起來像這樣:

jsonFlickrApi({ ... }) 

如果提供一個回調(like this url),它看起來像這樣:

myFunction({ ... }) 

這是jQuery的應該做的,但由於它不更換?了錯誤的URL,修復它,它會做次在,它會調用適當的方法,而不是默認的方法。

+2

該死的,我很蠢,對不起人,謝謝! – AlexC 2010-08-13 03:07:59