我想尝试使用Flickr API在我的网站上创建照片库,我有API& photoset,我正在使用Flickr方法'getPhotos',它返回给定Set中的照片,我使用jQuery调用它。
我的javascript似乎都工作得很好,除非正在返回Flickr照片集的细节,在构建我的src位置时,数据正在丢失......
在调试(使用Internet Explorer - F12)时,对象'data'包含预期的细节,带有photoset的参数,在该参数中我有参数'photo',在其中我有一组对象[0-每个包含参数'farm,id,secret,server&标题'都具有预期值。 然而,当我构建我的HTML var'theHtml'并用上述值填补空白时,我的HTML值被设置为'undefined'。
所以不要得到预期的: farm4.static.flickr.com/2480/1234567890_a1a1a1a1a1_b.jpg
我明白了 farmundefined.static.flickr.com/undefined/undefined_undefined_b.jpg
任何人都可以向我解释这个吗?
这是我的jQuery代码:
<script type="text/javascript">
$(document).ready(function(){
$.getJSON('http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&photoset_id=00000000000000000&format=json&jsoncallback=?', displayImages);
function displayImages(data) {
var theHtml = "";
$.each(data.photoset, function(i,photo){
var source = 'http://farm'+photo.farm+'.static.flickr.com/'+photo.server+'/'+photo.id+'_'+photo.secret+'_b.jpg';
theHtml+= '<li><a href="'+photo.link+'" target="_blank">';
theHtml+= '<img title="'+photo.title+'" src="'+source+'" alt="'+photo.title+'" />';
theHtml+= '</a></li>';
});
$('#images').html(theHtml);
};
});
</script>
<div id="images"></div>
var source并未正确构建。
提前干杯!
答案 0 :(得分:2)
排序!
$.each(data.photoset, function(i,photo){
应该是
$.each(data.photoset.photo, function(i,photo){