请教:vue如何带着cookie去访问django(使用rest API)里面的方法?

问题描述

vue使用axios去访问后端:

    this.$axios.get(
    "/api/v2/server/singleServer/",
    {params:
    {userid:that.$store.state.userData.id,token:that.$cookies.get('token'),serverid:that.$route.params.serverid}
    }
   ,
    {headers:{"content-type":"application/json"}}, 
  ).then(function(ret){
    console.log(ret.data)
   that.loading = false
 that.serverData = ret.data
  })
  

我是将cookie写在了url中,可以拿到。现在请问,如果将cookie放在header里面,然后通过后端获取到?

阅读 3.8k
2 个回答

看你的代码写在了参数里,这种不太好,正确姿势应该是统一处理。
有一个请求头 Authentication,可以放到这个请求头;或者自定义一个请求头并让后端放行这个请求头。
restAPI的话,每一次都要带认证token的,可以在axios的请求拦截器中设置header,后端取请求头中的token就可以。

这个可以根据自己的需求写一个中间件,建议看下 SessionMiddleware 的源码,一看便知;

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