来自YouTube API请求的空结果

时间:2017-10-17 19:55:21

标签: javascript jquery ajax youtube-api

我不明白为什么items数组是空的。谁能告诉我什么不起作用?谢谢。

jQuery(document).ready(function ($) {

$('#infl-yt-label').on('click', function() {
    //$('#infl-inp-search').attr("placeholder","YouTube input...");
    $('#infl-form-ig').hide();
    $('#infl-form-yt').show();
});

$('#infl-it-label').on('click', function() {
    //$('#infl-inp-search').attr("placeholder","Instagram input...");
    $('#infl-form-yt').hide();
    $('#infl-form-ig').show();
});

 $("#searchchannels").on("click", function() {
    console.log($("#infl-inp-search-yt").val());
    $.get(
        "https://www.googleapis.com/youtube/v3/search?",
        {
            part:"snippet",
            type:"channel",
            q: encodeURIComponent($("#infl-inp-search-yt").val()).replace(/%20/g, "+"),
            key:key
        },
             function(data)
             {
                console.log(data.items)
                 $.each(data.items, function()
                 {
                 console.log(data.items);
                 })
             }

        );//end get
    alert(1);
});//end 

});// end

html:     

        <div class="infl-sociale col-md-3 col-lg-2 text-center">
            <input id="infl-yt" type="radio" name="infl-sociale" value="youtube" checked>
            <label for="infl-yt" id="infl-yt-label"><i class="fa fa-youtube-play" aria-hidden="true"></i></label>
            <input id="infl-it" type="radio" name="infl-sociale" value="instagram">
            <label for="infl-it" id="infl-it-label"><i class="fa fa-instagram" aria-hidden="true"></i></label>
        </div>   

注意:我没有标题中google api链接的脚本链接。

1 个答案:

答案 0 :(得分:0)

您应该更新该功能以正确地迭代&#34;项目&#34;集合。

function(data)
{
    console.log(data.items) /* what does this log to the console? */
    $.each(data.items, function(item)
    {
        console.log(item);
    })
}

话虽如此,第一个console.log(data.items)的结果是什么?如果这是空的,迭代它就不会做任何事情。您也可以尝试console.log(data)或查看Chrome调试网络标签,查看API调用的响应。