【问题标题】:Tumblr API - How to create an array that then will be used by a script to search images?Tumblr API - 如何创建一个数组,然后脚本将使用它来搜索图像?
【发布时间】:2015-08-25 22:51:20
【问题描述】:

我想创建一个包含各种标签的数组(或其他东西,我不确定我是否正确),然后脚本将选择其中一些(不仅仅是其中一个)并发布来自该标签的图像。到目前为止,在其他程序员的帮助下,我设法创建了一个从一个标签中获取图像的简单脚本,我想对此进行扩展。完整代码如下:

<script>
  $(document).ready(function (){
    var link = "http://api.tumblr.com/v2/tagged?tag=vhs";
    $.ajax({
      type: "GET",
      url : link,
      dataType: "jsonp", 
      data: {
          api_key: "PgAKpKfv1Tcjo1uhsKEuriThhwH9XDJonRobaGwckw8RJt2tos"
      }
    }).done(function( data ) {
      $.each(data.response, function(){
        var _photos = this.photos;

        $.each(_photos, function(){
          $('body').append("<img src='" + this.original_size.url + "'/>");
        });
      });
    });
  });
</script>

根据评论,无法同时从多个标签中获取图像。如何修改现有的以从数组中随机获取一个?

【问题讨论】:

  • tumblr API 每次搜索只允许 1 个标签,因此您必须对每个标签进行多次 AJAX 调用,然后将它们合并在一起
  • 如何创建一个函数,从它们的数组中选择一个随机标签?这样我可以创建一个大数组和几个脚本来抓取随机标签并显示图像。

标签: javascript jquery ajax tumblr


【解决方案1】:

只需有一个标签数组,然后对其进行迭代以调用并从每个标签中检索项目。

即:

tags = ['george', 'of', 'the', 'jungle'];
iterateTags(tags);

function iterateTags(tags)
{
    for (var i = 0; i < tags.length; i++) {
        tag = tags[i];
        endURL = tagsURL + tag;

        callTumblr(endURL);
    }
}

http://jsfiddle.net/4awvc3m6/6/的演示

【讨论】:

  • 嗯.. 当我输入一些不相关的标签,如“cyberpunk”和“horror”时,它根本不显示任何内容。我认为只有当两个标签都出现在同一个图像中时它才有效。我错了吗?
  • @Lnvz 是的,tagsURL 存在问题,现已修复
  • 如何让它显示更多图像?它最多显示 2 或 4 个。
  • 它从第一个标签中抓取图像,但如果我添加更多则不起作用。
  • @Lnvz 这是您在迭代照片时最初的$.each 错误。我已经更新了链接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 2019-10-27
相关资源
最近更新 更多