gpt4 book ai didi

javascript - 使用 AJAX 将 videoID 放入 iframe 中

转载 作者:行者123 更新时间:2023-12-03 00:55:39 24 4
gpt4 key购买 nike

我正在尝试通过 AJAX 显示我的播放列表之一中的 YT 视频,但我无法真正用我获取的数据替换 iframe 中的 videoID。

我这样获取数据:

const apiKey = 'MY_API_KEY'
const playlistId = "MY_PLAYLIST_ID"
const url = `https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId=${playlistId}&key=${apiKey}`

const getData = function () {
return fetch(url)
.then(response => response.json())
.then(data => {
return data.items.map(playlist => {
return {
videoId: playlist.snippet.resourceId.videoId
}
})
})
}

现在我想测试是否可以将其中一个 videoId 放到我的 iframe 上,因此我尝试将其放入我的一个部分中,如下所示:

const playerTag = document.querySelector(".player")

const putVideoOn = function () {
playerTag.innerHTML = ""
playerTag.innerHTML = playerTag.innerHTML + `
<div class="player-video">
<iframe width="480" height="360" src="https://www.youtube.com/embed/${data.videoId}" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
`
}

// then I ran the function on load

putVideoOn()

但我总是收到一条错误消息,指出我注入(inject)到 iframe 链接中的变量未定义。

最佳答案

我在任何地方都没有看到 data 变量定义:

const apiKey = 'MY_API_KEY'
const playlistId = "MY_PLAYLIST_ID"
const url = `https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&maxResults=25&playlistId=${playlistId}&key=${apiKey}`
<小时/>

您在 putVideoOn 函数的 URL 中使用 ${data.videoId},但我看不到 data 变量在哪里被定义为。

您只需在 getData 函数中使用它,如下所示:

return data.items.map(playlist => {
return {
videoId: playlist.snippet.resourceId.videoId
}

但是您没有在变量data中保存任何内容,因为它可能不存在

关于javascript - 使用 AJAX 将 videoID 放入 iframe 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52853775/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com