XMLHttprequest 无法使用 twitch.tv api
Posted
技术标签:
【中文标题】XMLHttprequest 无法使用 twitch.tv api【英文标题】:XMLHttprequest not working the twitch.tv api 【发布时间】:2015-08-26 16:01:32 【问题描述】:所以我一直在尝试访问 twitch.tv api,但每次我提出请求时,我都会不断收到错误消息:
"XMLHttpRequest cannot load https://api.twitch.tv/kraken/streams/normalice. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:8080' is therefore not allowed access."
我目前在开发过程中使用 live-server 包,否则我只使用 html、css、javascript。这是我的javascript:
var req = new XMLHttpRequest();
var url = 'https://api.twitch.tv/kraken/streams/normalice';
req.open("GET", url, true);
req.send();
req.onreadystatechange = function ()
if (req.status == 200 && req.readState == 4)
// do stuff here
console.log('hurray it worked');
else
console.log(req.statusText);
console.log(req.responseText);
有没有人知道我为什么会遇到这个错误?
【问题讨论】:
【参考方案1】:Twitch.tv API 不支持 CORS。您需要使用 JSON-P(又名 JSONP)来解决它。在the Twitch.tv API docs 中阅读更多相关信息。有一个prior answer on how to make a JSONP request with native JavaScript 可能有用。
【讨论】:
感谢链接帮助很大!我不敢相信我错过了文档中的那个细节 ***.com/questions/47979394/… 的评论表明 Twitch API 已经移除了 JSONP 支持。以上是关于XMLHttprequest 无法使用 twitch.tv api的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 xmlhttprequest 加载本地 xml 文件
XMLHttprequest 无法使用 twitch.tv api
无法使用 WKWebView 通过 XMLHttpRequest 加载音频文件
为啥在使用 setRequestHeader 制作 xmlhttprequest 时无法设置 cookie 和 set-cookie 标头?