单击缩略图时获取 YouTube videoID?
Get YouTube videoID when the thumbnail is clicked?
所以,我有这个基本的 "Search YouTube" 功能,问题是...我有 2 个获取请求试图从 2 个不同的数据 URL 获取信息
https://www.googleapis.com/youtube/v3/search
和
https://www.googleapis.com/youtube/v3/videos
到目前为止,我已经掌握了显示每个视频的长度以及缩略图、标题等的所有内容。
但是我似乎无法做的一件事是提醒被点击视频的 videoID。它只是想出了 "undefined"。我连续几个小时分散了我的代码,以找出可能出错的地方。有帮助吗?
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
。
变更结果:
所以,我有这个基本的 "Search YouTube" 功能,问题是...我有 2 个获取请求试图从 2 个不同的数据 URL 获取信息
https://www.googleapis.com/youtube/v3/search
和
https://www.googleapis.com/youtube/v3/videos
到目前为止,我已经掌握了显示每个视频的长度以及缩略图、标题等的所有内容。
但是我似乎无法做的一件事是提醒被点击视频的 videoID。它只是想出了 "undefined"。我连续几个小时分散了我的代码,以找出可能出错的地方。有帮助吗?
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
。
变更结果: