我用spring构建了一个后端,现在我想用react构建一个前端。当我尝试获取请求url时,出现以下错误:
在'http://localhost:8080/demo/getall“从原点”http://localhost:3000“已被cors策略阻止:请求的资源上不存在“access control allow origin”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源。
这是我的密码:
const fetchItems = async () => {
fetch('http://localhost:8080/demo/getAll').then(response => response.json()).then(data =>
console.log(data));
};
有人知道问题是什么吗?我该怎么解决?
1条答案
按热度按时间yi0zb3m41#
https://www.w3.org/security/wiki/same_origin_policy
源由url的方案、主机和端口定义
港口必须是相同的,以过去相同的起源。
对于react,您拥有它的代理,因此您可以请求
:3000
就好像你把它送到:8080
如果您使用的是create-react应用程序,那么很容易做到:https://create-react-app.dev/docs/proxying-api-requests-in-development/否则,最好的办法可能是修改后端上的cors头:访问控制如何允许源站头工作?