ajax请求之后,浏览器没有服务端设置的cookie

see311
  • 384

使用前后端分离的方式开发,前端用vue配合axios发送ajax请求
登录功能,想象的流程是,登陆的ajax请求返回之后服务端给浏览器设置了cookie,保存了用户的校验码。
问题是,登陆成功之后,浏览器的cookie里并没有对应的校验码的字段。
代码简单如下

Jlogin (email, password) {
  return new Promise((resolve, reject) => {
    axios.post('/api/member/login/', {
      email,
      password
    }).then(res => {
      resolve(res)
    }).catch(err => {
      reject(err)
    })
  })
}

clipboard.png

在response cookie里有这个字段,但是在application里没有

clipboard.png

回复
阅读 3.3k
2 个回答
✓ 已被采纳

需要设置ajax的withCredentials属性。
在axios中这样设置:
axios.defaults.withCredentials = true;

打开控制台看一下network里面cookie设置成功没有,如果没有那就是后台的问题了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏