编辑:可以为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的问题吗?有更好的方法用图像更新背景吗?感谢
答案 0 :(得分:1)
您正在使用字符串文字backgroundImageUrl
而不是使用变量的内容(实际网址)。因为该字符串不包含主机或协议,所以它认为它与当前请求相关。
在制作网址时,您需要附加变量的值。
$('body').css('background-image','url(' + backgroundImageUrl + ')');