首页 > 其他 > 详细

vue 请求拦截request将token添加到请求头headers

时间:2021-03-28 11:22:02      阅读:226      评论:0      收藏:0      [点我收藏+]

在实际开发中前端登录成功我们将服务器返回的Token保存到Cookie中,为后续与服务器交互做验证!但有时后端没有做相关的逻辑编写无法从Cookie中取到Token,这时前端就需要在request请求拦截中!!!

首先先我们需要在登录接口成功后将返回的Token保存在localStorage、sessionStorage中我这边是保存在localStorage。同时我我在Cookie进行了Token保存!请看代码

    handleLogin() {
      this.$refs.loginFormRef.validate(async valid => {
        // console.log(valid);
        if (!valid) return
        const res = await api.login(this.form)
        if (res.code === ‘0000‘) {
          window.localStorage.setItem(‘userName‘, this.form.username)
          window.localStorage.setItem(‘access_token‘, res.data.access_token)
 
          document.cookie = ‘access_token=‘ + res.data.access_token
          setTimeout(() => {
            this.$router.push({
              path: `/view/Home`
            })
          }, 500)
        } else {
          return this.$message.error(res.msg)
        }
      })
    }
validate为el-form表单验证
完成第一步我们就要在request请求拦截中为请求头添加Token
//请求拦截
api.interceptors.request.use(
  req => {
    // 在发送请求前要做的事儿
    req.headers.access_token = localStorage.getItem(‘access_token‘)
    return req
  },
  err => {
    // 在请求错误时要做的事儿
    // 该返回的数据则是axios.catch(err)中接收的数据
    return Promise.reject(err)
  }
)
api 是我创建的axios实例,可替换

vue 请求拦截request将token添加到请求头headers

原文:https://www.cnblogs.com/huoshengmiao/p/14587779.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!