关于跨域
1.什么是跨域
协议 域名 端口号有一个不一样就是跨域。跨域是由于浏览器的同源策略造成的,指浏览器不能执行其他网站的脚本。
2.跨域可能会导致哪些问题:
1)每次请求时sessionId都不一样,不是一个会话,导致登录状态丢失等
解决办法参考:
https://blog.csdn.net/qq_33488642/article/details/82657836
https://blog.51cto.com/u_15553139/5178999
https://www.jb51.net/javascript/3070728hz.htm
https://blog.csdn.net/qq_35387940/article/details/106123805
后端接口设置:
registry.allowedOrigins("*") 设置跨域访问的域名,如果是* 默认都可以访问
registry.allowCredentials(true)设置是否允许客户端发送cookie信息。默认是false
res.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
res.setHeader("Access-Control-Allow-Credentials","true");//若要返回cookie、携带seesion等信息则将此项设置我true
前端请求设置:
withCredentials: true
vue:
axios.defaults.withCredentials = true;
--