如何使用Flickr API

时间:2015-06-02 21:35:56

标签: javascript jquery flickr

编辑:可以为Flickr图像构建静态源网址。说明: https://www.flickr.com/services/api/misc.urls.html

我正在制作ajax请求来抓取照片,我想解析这些信息以更新页面的背景。

这是粗略的代码:

$.ajax({
        url: 'https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=[API_KEY]&safe_search=&lat=' + geoLat + '&lon=' + geoLong + '&format=json&nojsoncallback=1',
        error: function() {
                 console.log('FlickerAPI Error');
               },
        success: function(data) {
          var photoID = data.photos.photo[0].id;
          var ownerID = data.photos.photo[0].owner;
          var backgroundImageUrl = 'http://www.flickr.com/photos/' + ownerID + '/' + photoID + '/';

          $('body').css('background-image','url(backgroundImageUrl)');
               },
        always: function() {
                console.log('finished flicker');
               }

});

当我向控制台登录此信息时,我收到此错误:     获取http://localhost:4567/backgroundImageUrl 404(未找到)。

但是当我注销backgroundImageUrl时,我得到:http://www.flickr.com/photos/[the右侧照片ID] / [正确的用户ID] /如果我按照链接,将我带到我想要的页面。

我搜索了文档,看起来他们没有传递网址属性。

这是使用localhost的问题吗?有更好的方法用图像更新背景吗?感谢

1 个答案:

答案 0 :(得分:1)

您正在使用字符串文字backgroundImageUrl而不是使用变量的内容(实际网址)。因为该字符串不包含主机或协议,所以它认为它与当前请求相关。

在制作网址时,您需要附加变量的值。

$('body').css('background-image','url(' + backgroundImageUrl + ')');