使用带有JS的Riot游戏API,无法加载响应数据



我尝试使用Riot games API,下面的代码返回了"状态代码:200",看起来不错,然后我得到了两个错误,如下所示。

Access to fetch at 'https://oc1.api.riotgames.com/lol/summoner/v4/summoners/by-name/edisona?api_key=RGAPI-xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' from origin 'http://127.0.0.1:5500' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
GET https://oc1.api.riotgames.com/lol/summoner/v4/summoners/by-name/edisona?api_key=RGAPI-xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx net::ERR_FAILED

所以我添加了{ mode: 'no-cors' },错误消失了,但控制台中没有返回的数据。之后我只直接使用URL,浏览器显示正确的数据。我不知道为什么会发生,如果你能帮助我,我很感激。

const name = 'edisona';
const api_key = 'RGAPI-xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
const url =
'https://oc1.api.riotgames.com/lol/summoner/v4/summoners/by-name/' +
name +
'?api_key=' +
api_key;
fetch(url)
.then(function(response) {
console.log(response); 
}).catch(function(error) {  
console.log('Request failed', error)  
});

这看起来像是Cross-Orgin请求错误(您没有将CORS头添加到代理请求中(。

试着使用CORS Anywhere,一个NodeJS反向代理来做到这一点。

这是一个演示。试着阅读一些关于CORS的内容:https://fetch.spec.whatwg.org/#cors-协议和凭证

相关内容

  • 没有找到相关文章

最新更新