一尘不染

如何在Tumblr的读取API中查询多个标签?

ajax

我正在尝试将Tumblr供稿包含在网页上,大致如下

    $.ajax({
        url: 'http://mypage.tumblr.com/api/read/json?tagged=interesting+tag',
        type: 'GET',
        dataType: 'jsonp',
        success: renderStuff,
        error: function () {
            alert('D\'oh'!)
        }
    });

现在,这很好用:我得到所有带有标签“ interesting tag”的条目。

我的问题是:如何索取多个标签?像这样更改查询字符串

'http://mypage.tumblr.com/api/read/json?tagged=tag1&tagged=tag2&tagged=tag3'

仅返回带有“ tag3”的条目。

在一起使用“或”或“或”标记名有技巧吗?如果不是这样,我很乐意只查询所有查询并手动过滤它们,但我认为值得一问。

在此先感谢大家!


阅读 257

收藏
2020-07-26

共1个答案

一尘不染

当前的Tumblr
API无法实现,它仅支持一个标签。一种解决方法是(除了从Tumblr团队争取该功能之外)是使用jQuery延迟对象获取带有这些标签的所有帖子,并合并json结果。

function getPostsByTag(tag) {
   return $.ajax({
    url: 'http://mypage.tumblr.com/api/read/json?tagged=' + tag,
    type: 'GET',
    dataType: 'jsonp'
  });
};

$.when(getPostsByTag('tag1'), getPostsByTag('tag2'), getPostsByTag('tag3'))
 .then(function() {
   var posts = $.extend({}, arguments);
   renderStuff(posts);
 });
2020-07-26