我正在运行一个简单的API请求,以将数据返回到我编写的简单API搜索中。我说这是简单的API调用,因为不需要身份验证,我可以在python中非常简单地完成它。
但是,在React中使用Axios时遇到问题。
代码:
axios.get('https://www.keyforgegame.com/api/decks/59554ab7-b414-4220-8514-408a0dbf572d')
我尝试在这里看,每个人都听起来很简单,但是我似乎什么也没做。我已经尝试过了。
axios.get('https://www.keyforgegame.com/api/decks/59554ab7-b414-4220-8514-408a0dbf572d', { crossDomain: true })
和
axios.get('https://www.keyforgegame.com/api/decks/59554ab7-b414-4220-8514-408a0dbf572d, {
headers: {
'Access-Control-Allow-Origin': true,
},
})
但是我不断收到类似的错误
Access to XMLHttpRequest at 'https://www.keyforgegame.com/api/decks/59554ab7-b414-4220-8514-408a0dbf572d' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
或
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
我是否需要在标题中添加一些内容才能使其正常工作?还是我需要在反应中进行某种设置。
帮助!
答案 0 :(得分:1)
您只是不能从客户端覆盖CORS检查。只是不能。 CORS是安全功能,如果仅将其禁用就没有意义。
有不同的方法。
取决于您的话语
我说这是简单的API调用,因为不需要身份验证,我可以在python中非常简单地完成它。
我相信您只需要确保没有发送额外的标头,因此请求将变为simple in meaning of CORS。在axios站点上,我发现了几种删除特定请求的额外标题的方法:
a。由specifying headers
explicitly
b。或通过创建different axios instance而不提供Authorization标头或任何强制运行CORS的方式
制作要在您的域上运行的代理
Access-Control-Allow- Origin
响应标头中列出