【问题标题】:Blogger: Fetch label post using JSON callbackBlogger:使用 JSON 回调获取标签帖子
【发布时间】:2019-03-12 03:44:18
【问题描述】:

我尝试使用博主 json 回调来获取数据。使用以下 java 脚本代码,我可以获得标题、链接、拇指、摘要和标签/类别。除了标签/类别外,一切都很好。不幸的是,我只显示一个标签。如何循环浏览博客帖子中的每个帖子标签?帖子不仅有一个标签,它还有 2 或 3 个标签。

代码如下:

var numposts = 5;
function whatshot(json) {
    for (var i = 0; i < numposts; i++) {
        var entry = json.feed.entry[i];
        var posttitle = entry.title.$t;
        var category = entry.category[0].term;
        var summary = entry.summary.$t;
        var category;
        var posturl;
        var thumb = entry.media$thumbnail.url;
        var thumb = thumb.replace("s72-c", "s1600");
        if (i == json.feed.entry.length) break;
        for (var k = 0; k < entry.link.length; k++) {
            if (entry.link[k].rel == 'alternate') {
                posturl = entry.link[k].href;
                break;
            }           
        }               
        document.write('<ul class="collection top-highlight"><li class="collection-item avatar"><img class="circle" src="'+thumb+'"/><span class="title">Lipsum</span><p>'+category+'</p></li><li><p class="sp-status">'+summary+'</p></li><li><img class="responsive-img" src="'+thumb+'"/></li><li><h2 class="sp-title"><a href="'+posturl+'">'+posttitle+'</a></h2></li></ul>');
    }
}

【问题讨论】:

    标签: javascript blogger blogger-dynamic-views


    【解决方案1】:

    使用 for 循环遍历分类项目并获取所有帖子标签

    for (var m = 0; m < entry.category.length; m++) {
        category += entry.category[m].term + " ";
    }
    

    每个标签名称后面都有空格

    这是你的代码

    var numposts = 5;
    function whatshot(json) {
        for (var i = 0; i < numposts; i++) {
            var entry = json.feed.entry[i];
            var posttitle = entry.title.$t;
            var summary = entry.summary.$t;
            var category;
            for (var m = 0; m < entry.category.length; m++) {
                category += entry.category[m].term + " ";
            }
            var posturl;
            var thumb = entry.media$thumbnail.url;
            var thumb = thumb.replace("s72-c", "s1600");
            if (i == json.feed.entry.length) break;
            for (var k = 0; k < entry.link.length; k++) {
                if (entry.link[k].rel == 'alternate') {
                    posturl = entry.link[k].href;
                    break;
                }           
            }               
            document.write('<ul class="collection top-highlight"><li class="collection-item avatar"><img class="circle" src="'+thumb+'"/><span class="title">Lipsum</span><p>'+category+'</p></li><li><p class="sp-status">'+summary+'</p></li><li><img class="responsive-img" src="'+thumb+'"/></li><li><h2 class="sp-title"><a href="'+posturl+'">'+posttitle+'</a></h2></li></ul>');
        }
    }
    

    【讨论】:

    • 错误Uncaught TypeError: Cannot read property 'length' of undefined
    • 感谢您的回答。我使用以下var category=''; for (var m = 0; m &lt; entry.category.length; m++) { category += entry.category[m].term + " "; } 解决了这个问题
    猜你喜欢
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-27
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多