我正在使用Tumblr API在我的网站上生成图片Feed。
我可以将照片和网址确定,但不是字幕。
我制作了一个简单地循环播放帖子的脚本:
成功:功能(结果){
var i = 0;
while (i < results.response.posts.length) {
if (type == "photo") {
var photourl = results.response.posts[i].photos[0].alt_sizes[0].url;
var caption = results.response.posts[i].caption;
$("#tumnews #newscara").append("<li><div class='tumpost'><a href='" + link + "'><img src='" + photourl + "' alt='" + title + "'/><div class='tumcaption'>" + caption + "</div></a></div></li>");
}
i++;
}//END WHILE
但我无法检索字幕数据,即使文档说它只是使用术语“标题”(http://www.tumblr.com/docs/en/api/v2#photo-posts)进行检索。
我也尝试过:
var caption = results.response.posts[i].photos[0].caption;
和
var caption = results.response.posts[i]photos[0].caption[0];
但我没有得到任何结果 - 甚至没有任何错误。
有人知道如何正确地做到这一点吗?
答案 0 :(得分:1)
线索在文档中
具有属性的照片对象:标题 - 字符串:用户提供的标题 个人照片(仅限照片)
您尝试的代码与 Photoset 帖子的单张照片的标题有关。
var caption = results.response.posts[i].photos[0].caption
您的代码似乎建议您处理照片帖子而不是 Photoset 帖子,因此您将使用以下内容:
var caption = results.response.posts[i].caption
希望有所帮助。
答案 1 :(得分:0)
首先,我会使用$ .each()进行循环,因为你使用JQuery:
success: function(results){
console.log(results); // <-- This is your best friend
$.each(results.response.posts, function(k, post){
if (type == "photo") {
var photourl = post.photos[0].alt_sizes[0].url;
var caption = post.caption;
$("#tumnews #newscara").append("<li><div class='tumpost'><a href='" + link + "'><img src='" + photourl + "' alt='" + title + "'/><div class='tumcaption'>" + caption + "</div></a></div></li>");
}
});
}
如果您没有从API中检索期望的结果,请尝试使用console.log(结果);查看您在Firebug或其他网络检查员中使用的数据类型。