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

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)