解决方法
不多BB,先放解决方案
在Controller
上加个Spring的注解@CrossOrgin
即可
(其实也可以通过添加代理来解决,最初我写React时的解决方案是为前端添加了代理)
什么是同源策略
会有人在自己写前后端的时候,前端后端运行在自己电脑的不同端口,前端向后端发请求时就会出现由于“同源策略”而请求失败问题(我刚学前端写React的时候就遇到过)
那么什么是同源策略呢
网上的解释:
同源策略 是由NetScape提出的一个著名的安全策略。所谓的同源,指的是协议,域名,端口相同。浏览器处于安全方面的考虑,只允许本域名下的接口交互,不同源的客户端脚本,在没有明确授权的情况下,不能读写对方的资源。
简单来说就是:
- 协议不同的(如http、https)不能相互访问
- 不同域名不能相互访问
- 相同域名的不同端口(如8080、8081)不能相互访问
(这也就是为什么把前后端同时运行在本机就不能访问)
这几种访问方式都叫做跨域访问,违背了同源策略,所以会禁止这种访问