nuxt获取前端cookie

版权声明:在那最初的相遇中,我们都曾经为彼此心动过... https://blog.csdn.net/weixin_36185028/article/details/83269177

使用nuxt框架做http请求,每次要把cookie传到后端,使用document.cookies不能在后端获取cookies,使用cookie-universal-nuxt插件

https://www.npmjs.com/package/cookie-universal-nuxt

安装:

npm i --save cookie-universal-nuxt

在nuxt.config.js中使用

{
  modules: [
    // Simple usage
    'cookie-universal-nuxt',
 
    // With options
    ['cookie-universal-nuxt', { alias: 'cookiz' }],
 ]
}

使用@nuxtjs/proxy和@nuxtjs/axios插件下的axios请求时在头部带上cookie

只需添加config.headers.Authorization = app.$cookies.get('token')

plugins/axios.js:

import qs from "qs";

export default function ({ $axios, app }) {
  // console.log(app.$cookies.get('token'))  //每次请求获取cooie
  $axios.onRequest(config => {
    //获取cookie放在头部传到后端
    config.headers.Authorization = app.$cookies.get('token')
    config.data = qs.stringify(config.data, {
      allowDots: true //Option allowDots can be used to enable dot notation
    });
    return config;
  });

  $axios.onResponse(response => {
    return Promise.resolve(response.data);
  });

  $axios.onError(error => {
    return Promise.reject(error);
  });
}

猜你喜欢

转载自blog.csdn.net/weixin_36185028/article/details/83269177
今日推荐