请求不携带cookie问题

因为后端需要用到cookie做一些判断,所以在post请求前先写入了cookie。在页面未登录时,调接口能带上cookie,登录后的请求没有携带cookie,但是能看到cookie已经保存了。
(axios.defaults.withCredentials = true 配置了并没有用)

对比登录前后,发现是cookie路径的问题。如下:

登录之前的cookie一直保存在/下面,但是登录后cookie就保存在/transaction-center下面,但请求的路径没有/transaction-center,所以请求的header中就么有cookie,要想使用cookie务必写在同级,设置了一下写入cookie时候的path就可以了。

document.cookie ='XSRF-TOKEN='+data+';path=/;' ;
  • 默认不设置path的时候,只会在请求和servlet同路径的情况下才会携带cookie中存储的数据,包含同级目录和下级目录

  • 如果之前的cookie设置的path,则当前的cookie需要和之前的cookie保持相同的path才能有效删除之前的cookie

posted @ 2018-11-20 10:46  conglvse  阅读(6734)  评论(0编辑  收藏  举报