1

我正在使用 Tumblr API 在我的网站上生成图像提要。

我可以获取照片及其 URL,但不能获取标题。

我制作了一个脚本,它可以像这样简单地遍历帖子:

成功:函数(结果){

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];

但我没有得到任何结果——甚至没有任何错误。

有人知道如何正确执行此操作吗?

4

2 回答 2

1

线索在文档中

具有属性的照片对象:标题 - 字符串:用户为单张照片提供的标题(仅限照片集)

您正在尝试的代码与Photoset帖子的单张照片的标题有关。

var caption = results.response.posts[i].photos[0].caption

您的代码似乎建议您处理照片帖子而不是Photoset帖子,因此您将使用以下内容:

var caption = results.response.posts[i].caption

希望有帮助。

于 2013-10-04T12:07:44.797 回答
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(results); 查看您在 Firebug 或其他 Web 检查器中处理的数据类型。

于 2013-10-04T00:44:30.710 回答