因此,我正在执行此基本的“搜索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;
...
如您所见,没有
item.id.videoId
,您应该将其更改为item.id
。更改结果: