前后端分离开发,跨域时jsessionid每次请求都变化的问题解决方法

时间:2023-03-08 22:27:01
前后端分离开发,跨域时jsessionid每次请求都变化的问题解决方法

本解决方法的使用前提是,前端开发使用的是vue,后端使用java(SpringMVC)

在前后端分离开发过程中,可能会出现因跨域而导致每次请求的jsessionid不一致的情况

解决方法:

前端:要在main.js入口文件中,将axios请求的withCredentials属性设置为true,如下:

  1. import axios from 'axios'
    axios.defaults.withCredentials = true

后端:设置http请求头为:

  1. httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
  2. httpResponse.setHeader("Access-Control-Allow-Origin", "http://192.168.199.240:8081");
  3. httpResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

当Access-Control-Allow-Credentials设置为true时,Access-Control-Allow-Origin就不能设置为*了,要改成具体的域,如上