2010-08-13 91 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