基本跨域配置:
后台改动:
不同框架不同版本多种方式,网上也各种方案,所以这里只说我的,我的项目是SpringBoot2.x+SpringSecurity,直接改动SpringSecurity
...
// 请求伪造防护功能关闭
.csrf().disable()
.cors()
Vue改动:
详见Vue axios异步、跨域请求及proxyTable无效问题详解
Session为空/sessionID前后不一致:
场景描述:
通过跨域图片验证码正常显示,表示跨域成功,但是提交表单总提示500等错误码,Debug后发现第一次图片请求存在session,第二次验证请求session为空。。。
解决步骤:
- 1.session空问题
- 2.sessionID前后不一致问题
- 3.Vue axios表单提交问题
1&2:session空/sessionID前后不一致
修改Vue跨域配置/config/index.js:
这里因个人项目配置了SpringBoot server.servlet.context-path: /demo,所以Vue axios路由前缀配置为demo以匹配,且注释了Axios.defaults.baseURL配置,请根据实际项目自行参考
proxyTable: {
// 跨域处理
// 前缀匹配
'/demo': {
// imageCodeUrl: '/demo/code/image?width=200',
target