解决 axios 请求时不携带 cookie

问题描述

最近在做一个项目,开发模式是前后端分离的,用户登录之后服务端返回 cookie 信息,通过 document.cookie 设置 cookie 了,但是发起其他请求时请求头没有cookie ???

截图:
解决 axios 请求时不携带 cookie_第1张图片
解决 axios 请求时不携带 cookie_第2张图片

解决方案

想到了之前 vue 电商项目中,手动设置了 Authorization ,今天可以 ctrl c+v 了

axios.interceptors.request.use(config => {
     
  config.headers.cookie = document.cookie
  return config
})

再次发起请求,还是没有 cookie 。
……

百度之后,发现需要设置 axios 允许携带 cookie,如下代码:

// 允许携带cookie
axios.defaults.withCredentials = true

需要注意,浏览器不支持手动设置 cookie,这时发起请求,浏览器控制台会报错,大致意思为:“不支持修改 cookie” ,需要将上面手动设置的 cookie 代码删掉。

参考

前台请求不带cookie的问题解决方案大汇总

你可能感兴趣的:(问题记录,cookie,session,http)