我正在尝试将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”的条目。
在一起使用“或”或“或”标记名有技巧吗?如果不是这样,我很乐意只查询所有查询并手动过滤它们,但我认为值得一问。
在此先感谢大家!
当前的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); });