我已经设置了标题然后还有 CORS 策略错误(ReactJS)
Posted
技术标签:
【中文标题】我已经设置了标题然后还有 CORS 策略错误(ReactJS)【英文标题】:I have set the headers then also CORS policy error is there(ReactJS) 【发布时间】:2021-03-13 08:03:42 【问题描述】:axios.get("https://url.example.com/b/478L",
headers:
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json',
).then((response) => console.log(response.data))
.catch((error) => console.log(error))
我的网址不同。
错误:
从源“http://localhost:3000”访问“https://url.example.com/b/478L”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
【问题讨论】:
后端呢,你自己做的? 没有jsonkeeper的url 还有其他解决办法吗? 看这个问题***.com/questions/43871637/… 不适合我。 【参考方案1】:我不知道服务器是如何构建的。但是每个后端框架都有处理 CORS 的功能。 例如,在 ExpressJS 中,您可以使用 cors 中间件来处理 CORS 策略。 所以尝试在服务器端解决这个问题。
【讨论】:
后端不在我的控制范围内。它是一个jsonkeeper的url 还有其他解决办法吗? @Prem Jogi 请尝试设置 Access-Control-Allow-Credentials 标头。【参考方案2】:如果您有自己的后端,则可以解决此问题。
对于 Node/Express 后端的示例,您可以使用 cors
library npm link here
然后在你的 app.js 中添加这一行,
//IMPORT THE LIBRARY
const cors = require('cors');
//ALLOW REQUEST FROM ANY DOMAIN
app.use(cors());
将修复错误。
如果不断收到此错误,请尝试不同的端点。或者你会发现一些有用的东西here
【讨论】:
以上是关于我已经设置了标题然后还有 CORS 策略错误(ReactJS)的主要内容,如果未能解决你的问题,请参考以下文章
使用 MEAN 堆栈应用程序(托管在 Heroku 上)消除 CORS 策略错误
关于客户端安全性,CORS 除了颠覆同源策略之外还有啥作用?
使用 axios cors 策略错误配置 nodejs rest api 服务器和 vue 项目