我尝试加载 Youtube 数据 API(通过在我的标题部分中注入它)。
它曾经完美地工作,但突然间我只得到 307 个响应代码(并且没有真正的内容)。
307 是temporary_redirect,这个页面:https ://developers.google.com/youtube/v3/docs/core_errors
告诉我通过将请求转发到 307 响应的 Location 标头中指定的位置来获取内容。问题是响应的 Location 标头中没有任何内容!:-(
有谁知道发生了什么,如何解决它,以及如何防止它再次发生?(我应该创建代码以在收到 307 响应时将请求重新发送到新的 URI 吗??)
这是我的注入代码(但它曾经完美地工作):
var YTDtag = document.createElement('script'),
YTItag = document.createElement('script');
YTDtag.src = "https://apis.google.com/js/client.js?onload=apiReady"; // load YouTube data API
YTItag.src = "https://www.youtube.com/iframe_api"; // load YouTube Iframe API
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(YTDtag, firstScriptTag);
firstScriptTag.parentNode.insertBefore(YTItag, firstScriptTag);
但我从https://apis.google.com/js/client.js?onload=apiReady得到的唯一响应是 307 号码,因此我的 apiReady 永远不会被调用。
如果我尝试通过将页面放在浏览器位置字段中来“手动”加载页面,它似乎可以正常加载 - 但当我尝试通过我的 js 加载它时却不行?:-/