和同学参加比赛前后端分离,今天我对接的时候,发现前端的请求后端一直接收不到,出现这种问题
明明代码请求是 post 结果发现控制台的细节发现请求是 options,于是查了一下网上的原因
因为请求是跨域,所以会先发一个 options 看看支不支持跨域,如果服务器支持跨域才会发原来的请求。
然后本身我的后端代码并没有配置相关跨域的信息,所以不能支持跨域第二个正常的请求就不会再发了,最后只要将后端的 Controller 类上加一个注解
此时在进行访问接口就可以。
有个坑!!!
中间有个细节就是本地测试的时候前端网址如果 ip 是 localhost 的话
后端注解 origins 的值必须是 “localhost” 像这样使用 127.0.0.1 也不行
@CrossOrigin(origins = “http://127.0.0.1:8080”) 会等于没有配置。