在向返回 Spotify 跟踪 URIS 的 API 端点发送获取请求后,我正在尝试使用 ajax 灵活地填充 spotify 跟踪集小部件。
创建的 url 在浏览器中加载时工作正常,iframe 在硬编码到网页中时加载正常。但是,如果我使用 ajax 动态生成源 url,Spotify 会抛出此错误:
拒绝在帧中显示"https://developer.spotify.com/technologies/widgets/spotify-play-button/",因为它将"X-帧选项"设置为"SAMEORIGIN"。
下面是 ajax/jquery get 请求:
$('a#generate-playlist').bind('click', function() {
$.getJSON($SCRIPT_ROOT + '/_generate_playlist',{
uid: '{{ fb_user_id }}',
spotify_token: '{{ spotify_token }}'
}, function(data) {
$("#response").append($('<iframe src="https://embed.spotify.com/?uri=spotify:trackset:trackSetTitle:' + data.track_uris + '" frameborder="0" allowtransparency="true"></iframe>'));
});
这是一个有效的嵌入 URL,在动态呈现时不起作用:工作 Spotify 曲目集
将"trackset"中的曲目数量减少到 80 以下,它工作正常。我在收到相同的错误消息时遇到了问题。
虽然我找不到说明这一点的 spotify 文档,但似乎在这里得到了 Spotify 开发人员的证实:Spotify 播放按钮曲目设置限制?