美文网首页
Nuxt使用cookies踩坑之设置axios的header

Nuxt使用cookies踩坑之设置axios的header

作者: 泪滴在琴上 | 来源:发表于2019-11-01 16:52 被阅读0次

    middleware下创建axiosMiddle.js

    import axios from 'axios'
    
    import md5 from 'js-md5'
    
    import cookies from 'js-cookie'
    
    export default function({req,res}) {
    
     if (req.headers !== undefined) {
    
        let cookieArr = req.headers.cookie;
    
        //获取cookie然后拆成键值对
    
        const getUserName = getCookie('name', cookieArr)
    
        const getToken = getCookie('tiken', cookieArr)
    
        //设置axios的全局变量.
    
        axios.defaults.timeout = 60000 // 响应时间
    
        // @requestParams
    
        axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
    
        axios.defaults.headers.username = getUserName
    
        axios.defaults.headers.token = getToken
    
        axios.defaults.withCredentials = true
    
      }
    
    }
    
    //解析浏览器中的cookies
    
    function getCookie (name, strCookie) {
    
      console.log('strCookie',strCookie)
    
      var arrCookie = strCookie.split(';')
    
      for (var i = 0; i < arrCookie.length; i++) {
    
        var arr = arrCookie[i].split('=')
    
        if (arr[0].trim() === name) {
    
          return arr[1]
    
        }
    
      }
    
      return {}
    
    }
    

    在nuxt.config,js中设置下使用中间件即可

    router: {
    
        middleware:'axiosMiddle'
    
      },
    

    至此,结束

    作者:雪人Man
    链接:https://juejin.im/post/5cb18b08f265da035b618899
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

          本文标题:Nuxt使用cookies踩坑之设置axios的header

          本文链接:https://www.haomeiwen.com/subject/ekcqbctx.html