因此,我正在执行此基本的“搜索YouTube”功能,问题是...我有2个get请求,试图从2个不同的数据URL中获取信息

https://www.googleapis.com/youtube/v3/search


https://www.googleapis.com/youtube/v3/videos

到目前为止,我已经可以使用所有功能来显示每个视频的长度以及缩略图,标题等。

但是我似乎遇到麻烦的一件事就是提醒被点击视频的videoID。它只是带有“未定义”。我将代码分散了数小时,以查找可能出问题的地方。有什么帮助吗?
function search() {
    $('#results').html('');

    q = $('#search-input').val();

    $.get(
        "https://www.googleapis.com/youtube/v3/search", {
            part: 'snippet, id',
            q: q,
            maxResults: 50,
            type: 'video',
            key: rfm
        },
        function(data) {
            for (var i = 0; i < data.items.length; i++) {
                $.get(
                    "https://www.googleapis.com/youtube/v3/videos", {
                        part: 'snippet, contentDetails',
                        key: rfm,
                        id: data.items[i].id.videoId
                    },
                    function(video) {
                        if (video.items.length > 0) {
                            var output = getResults(video.items[0]);

                            $("#results").append(output);
                        }
                    });
            }
        });
}

完整代码:
http://codepen.io/mistkaes/pen/6b6a347c7d24edee15b3491420db4ecd?editors=001

最佳答案

我检查了您的代码,您在ln79处出错

function getResults(item) {
    console.log(item);  //This is how you should test
    var videoID = item.id.videoId;
    var title = item.snippet.title;
...

jquery - 单击缩略图时获取YouTube videoID吗?-LMLPHP

如您所见,没有item.id.videoId,您应该将其更改为item.id

更改结果:

jquery - 单击缩略图时获取YouTube videoID吗?-LMLPHP

10-06 05:34