我一直在尝试从防暴api中获取一些数据,但我遇到了一个问题:
这是代码的重要部分:
const getUsuario = async (name) => {
const resp = await fetch(`${APIRUL}${name}${apikey}`, {
method: 'GET',
mode: 'no-cors',
headers: {
"Content-Type": "application/json",
},
});
const { data } = await resp.json();
return data;
};
getUsuario("user-name");
如果我把模式:cors。我对CORS有问题,但是如果我有上述示例,它就会显示以下内容:
champions.js:15 Uncaught (in promise) SyntaxError: Unexpected end of input
at getUsuario (champions.js:15)
这是第15行:
const { data } = await resp.json();
我发现了与您在这里看到的类似的错误:fetch()输入意外结束
在将响应转换为json之前,尝试打印响应,看看是否看到type opaque
。这特定于获取使用mode发出的请求no-cors
。您对这种回应的处理方式似乎有很多限制。
更新:RiotGames api服务器由于某种原因未返回CORS标头。他们很可能不希望您直接从浏览器访问其API。您需要有一个后端向您发出这些api请求,然后可以将响应转发到您的前端。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句