Flickr API错误,Json回调

时间:2010-08-13 02:51:34

标签: jquery json api flickr

为什么我的代码中出现此类错误:

“错误: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数据类型或其他方面存在syme问题,建议我如何修复它,请

由于

1 个答案:

答案 0 :(得分:6)

你的网址结尾有点不对,这个:

....&jsoncallback;=?

应该是:

....&jsoncallback=?

jQuery使用动态命名的函数自行填充此方法(您的function(data)转换为此命名函数或JSONP工作)。由于格式已关闭,因此未正确替换此格式,默认方法为jsonFlickrApi

如果您访问url directly(这是没有回调),您会看到它如下所示:

jsonFlickrApi({ ... })

如果你提供回调(like this url),它看起来像这样:

myFunction({ ... })

这是jQuery 应该做的事情,但是由于格式错误的网址没有替换?,修复它并且它会这样做,它会调用正确的方法,而不是默认方法。