Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery YouTube数据API一次只显示5个结果?_Jquery_Html_Css_Youtube_Youtube Api - Fatal编程技术网

Jquery YouTube数据API一次只显示5个结果?

Jquery YouTube数据API一次只显示5个结果?,jquery,html,css,youtube,youtube-api,Jquery,Html,Css,Youtube,Youtube Api,我在YouTube数据API中遇到了这个问题,我希望页面在页面上返回35-40多个结果。但是每次搜索只显示5个结果,有什么帮助吗 CodePen: jQuery: var apikey = 'AIzaSyCKMpw2nmPnon_gkh4EIXnbiAmrZNw-v4M'; $(function() { var searchField = $('#query'); $('#search-form').submit(function(e) { e.prevent

我在YouTube数据API中遇到了这个问题,我希望页面在页面上返回35-40多个结果。但是每次搜索只显示5个结果,有什么帮助吗

CodePen:

jQuery:

var apikey = 'AIzaSyCKMpw2nmPnon_gkh4EIXnbiAmrZNw-v4M';

$(function() {
    var searchField = $('#query');

    $('#search-form').submit(function(e) {
        e.preventDefault();
    });
});

function search() {
    $('#results').html('');

    q = $('#query').val();

    $.get(
        "https://www.googleapis.com/youtube/v3/search", {
            part: 'snippet, id',
            q: q,
            type: 'video',
            key: apikey
        },
        function(data) {
            $.each(data.items, function(i, item) {
                var output = getResults(item);

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

function getResults(item) {
    var videoID = item.id.videoId;
    var title = item.snippet.title;
    var description = item.snippet.description;
    var thumb = item.snippet.thumbnails.high.url;
    var channelTitle = item.snippet.channelTitle;

    var output = '<li>' +
        '<div class="list-left">' +
        '<img src="' + thumb + '">' +
        '</div>' +
        '<div class="list-right">' +
        '<h3><a href="http://youtube.com/embed/' + videoID + '?rel=0">' + title + '</a></h3>' +
        '<p class="cTitle">' + channelTitle + '</p>' +
        '</div>' +
        '</li>' +
        '<div class="clearfix"></div>' +
        '';

    return output;
}
var apikey='aizasyckmpw2nmpnongkh4eixnbiamrznw-v4M';
$(函数(){
var searchField=$(“#查询”);
$(“#搜索表单”)。提交(函数(e){
e、 预防默认值();
});
});
函数搜索(){
$('#results').html('');
q=$('#query').val();
美元(
"https://www.googleapis.com/youtube/v3/search", {
部分:“代码段,id”,
问:问,,
键入:“视频”,
钥匙:apikey
},
功能(数据){
$.each(data.items,function(i,item){
var输出=获取结果(项目);
$(“#结果”)。追加(输出);
});
});
}
函数getResults(项){
var videoID=item.id.videoID;
var title=item.snippet.title;
var description=item.snippet.description;
var thumb=item.snippet.thumbnails.high.url;
var channelTitle=item.snippet.channelTitle;
变量输出=“
  • ”+ '' + '' + '' + '' + '' + “

    ”+channelTitle+”

    '+ '' + “
  • ”+ '' + ''; 返回输出; }

    一如既往,谢谢你的帮助

    API文档具有欺骗性,
    maxResults
    实际上设置了每页的最大结果

    更改GET请求以添加该参数:

    $.get(
            "https://www.googleapis.com/youtube/v3/search", {
                part: 'snippet, id',
                q: q,
                type: 'video',
                key: apikey,
                maxResults: 50
            },
    

    现在返回50个结果。

    您的结果可能已分页。您将需要遍历这些页面以获得所需的所有结果。从中,您似乎无法更改
    pageInfo。resultsPerPage
    pageInfo。resultsPerPage
    从YouTube API响应返回。它是一个整数,但不能更改。它的价值是由YouTube提供的。我怎样才能使我的结果不分页?你不能。这是API的设计方式。但之前,我记得API一次最多可以在页面上显示30个结果,直到更新出来。。。我确信这仍然是可能的,因为像last.fm和plug.dj这样的stie仍然使用新的更新API来实现这一点。