前后端分离开发时遇到的跨域和session丢失问题
前言
第一次尝试前后端分离开发,在测试的时候有注意过跨域问题,于是在每个controller上都加了@CrossOrigin注解,但是在前端同学调用的时候,还是出现了跨域问题,跨域问题解决后,确还发现了session丢失问题,由于项目是直接部署上服务器给前端调用的,所以很多问题都不能一步一步排查,导致这个bug拖了一天,最后想到在同个局域网下别的电脑也是可以访问我的tomcat的,于是就让前端同学试这种方式,调用接口的时候在idea的控制台就可以看到很多信息了,这样bug也就容易找了很多。
加了跨域注解还是会出现跨域报错的解决方案
一开始查了非常多的博客,发现其实都没有准确的解决方案,最后查找到
一篇文章,发现springboot2.0以上版本后需要在跨域注解参数里配置
加完跨域后发现session丢失
由于我们项目在注册账号的时候用的是邮箱验证码,通过session来传递,在debug后发现session.getAttribute报了个null,发现是跨域的时候session丢失,在百度后发现,前端的ajax要添加
最后这些方法都试过 发现还是不行
然后我就继续百度,最后发现基本上都是这些方法,最后实在没办法,明明帖子说的我都做了,最后想到会不会是浏览器缓存的问题,换了一个服务器,果然可以。