所以我试图用Ajax从youtube api中获取数据。我尝试过以下方法:
var url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=2&playlistId=PL55713C70BA91BD6E&key=my_key';
$.getJSON(url, function (data) {
$.each(data, function () {
console.log(data);
});
});
正如你所看到的,我在var url中有一个随机播放列表的url。之后我循环遍历所有数据,最后我想调试所有数据。它给了我以下数据:
由于某种原因,它可以为我提供5次所有数据,如截图所示。此外,当我用'console.log(data.items.id)'替换'console.log(data)'时,它在我的控制台中显示以下内容:
出于某种原因,它给了我所有数据x5,它似乎也没有识别出“项目”。有没有人知道我的代码出了什么问题?
答案 0 :(得分:0)
沿着这些方面的某些东西可能会起作用:
var url = 'https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=2&playlistId=PL55713C70BA91BD6E&key={YOUR-API-KEY}';
$.getJSON(url, function (data) {
data.items.forEach(function (item) {
console.log(item.snippet.title);
});
});
如果您想坚持使用jQuery each
,那么您可以这样做:
$.getJSON(url, function (data) {
$.each(data.items, function (key, value) {
console.log(value.snippet.title);
});
});
each
函数将数组中的每个项目交给您的函数,因此您需要(key, value)
签名,以便您可以在迭代器函数中访问它们。