问题描述:
Vue3 + Django3 前端使用axios发送请求,django无法通过request.session保持会话,每次获取会话数据都是新的。
原因分析:
因为axios的withCredentials配置默认为false导致的。
withCredentials 表示跨域请求是否携带cookie。
解决方案1:
只需要在创建axios实例时配置withCredentials=true即可
import axios from 'axios'
const request = axios.create({
...
withCredentials: true, // 允许跨域请求携带cookie
})
解决方案2:
如果上面方法不行,可以试试方案1+方案2。
也有可能是本地请求域名问题,使用"http://127.0.0.1:8080/"就可以,但"http://localhost:8080/"不行。目前不知道为啥。。。