我正在尝试从公共API发出GET请求,但似乎无法弄清楚为什么cors preflight请求会一直失败。
Response for preflight has invalid HTTP status code 404
我已经做了一些搜索,似乎这是需要改变服务器端的东西,但我只是想确保没有什么我可能做错了。我正在使用以下代码:
try {
let guideData = await fetch(guideUrl, {
method: 'GET',
headers: {
Authorization: `Bearer ${json.access_token}`,
}
});
} catch(err) {
console.log("Failed to fetch data", err);
}
我已经使用Postman和Hurl进行了测试,两者似乎工作正常,我无法让它在我的客户端上工作。
答案 0 :(得分:1)
当您从Postman和Curl发送http请求时,两者的行为与Web浏览器不同。在您的情况下,您使用的是运行js的Web浏览器。代码本身看起来很好,减去了您需要对令牌进行编码以在发送时使授权工作的事实。
问题肯定似乎是服务器端,要点是当你发送OPTIONS
它会告诉你它是否与你或服务器有关。很可能是你发布的回复,肯定是CORS。