springboot + vue前后端分离解决每次请求session不一致的问题

文章讲述了在Vue项目中实现验证码功能时遇到跨域和session问题,通过调整axios的withCredentials设置,发现是前端路径配置导致的Set-Cookie问题。最终在vite.config.ts中配置proxy解决了跨域问题,确保sessionid一致并能获取存储数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一个项目中做验证码功能,一开始思路是:前端发送请求让后端处理,使用了hutools验证码工具类,直接使用输出流进行输出到页面中,于是使用seesion进行存储验证码,在校验验证码输入是否正确时,再发送请求给后端,获取sesson中存储的数据,一遍遍测试之后发现每次的存储的数据都为空(项目提前做好了跨域)。

上网搜索相关资料,有使用拦截器,过滤器或者使用Interceptor的方法,但总结下来就是配置跨域,但项目中已经有了跨域,但没有使用跟其余人一样的做法。试了很多次才发现不是跨域问题,而是前端配置问题。

一、 跨域

如果你遇到了这种问题首先就是先做好跨域,可参考SpringBoot和Vue跨域Session不是同一个怎么解决(不用Redis)_springboot 不使用 redis_Keeling1720的博客-优快云博客

二、前端配置

项目使用的是vite来构建vue,使用axios发送请求,所以首先在自己封装的请求中设置好前端请求的withCredentials属性为true,让其请求时携带cookie。特别提醒:typescript与JavaScript无特大差异,以下代码都可直接使用

可放main.js或main.ts或http.ts中


                
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值