session跨域问题
1.前端代码
import axios from 'axios'
const request =axios.create({
baseURL:'http://127.0.0.1:8081/api',
timeout:3600000
})
// request 拦截器
// 可以自请求发送前对请求做一些处理
// 比如统一加token,对请求参数统一加密
request.interceptors.request.use(config=>{
config.headers['Content-Type']='application/json;charset=utf-8';
const user=localStorage.getItem("user");
if(user){
config.headers['token']=JSON.parse(user).token;
}
//config.headers['token']=user.token; //设置请求头
return config},error => {
return Promise.reject(error)
});
//response 拦截器
//可以在接口响应后统一处理结果
request.interceptors.response.use(
Response=>{
let res =Response.data;
if(typeof res ==='string'){
res =res ? json.parse(res):res
}
return res;
},
error => {
console.log('err'+error)
return Promise.reject(error)
}
)
export default request
2.后端跨域设置
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter(){
UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource=new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration=new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**",corsConfiguration);
return new CorsFilter(urlBasedCorsConfigurationSource);
}
}
我按照网上的设置 在前端配置了 axios.defaults.withCredentials = true 还是不行
存储的session和访问的session不一致