当尝试使用 JS 解析 fetch Promise时,将模式设置为'no-cors'
基于此答案。但是,将模式设置为会'cors'
导致:
从源“http://localhost:3000”获取“{endpoint}”的访问已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。
所以我在我的函数中写了这个:
search() {
return fetch(`${baselink}${summonerEndpoint}${summoner}${apikey}`, {mode: 'no-cors'}).then(response => {
return response.json()
}).then(jsonResponse => {
console.log(jsonResponse);
if (!jsonResponse.info) {
return [];
}
return jsonResponse.info.items.map(info => ({
id: info.id,
accountId: info.accountId,
name: info.name,
profileIconId: info.profileIconId,
revisionDate: info.revisionDate,
summonerLevel: info.summonerLevel
}));
});
}
这将导致以下错误Uncaught (in promise) SyntaxError: Unexpected end of input
的return response.json()
,但没有进一步的消息。我究竟做错了什么?