为了账号安全,请及时绑定邮箱和手机立即绑定

Nuxtjs中的@nuxtjs/axios如何设置全局拦截器

Nuxtjs中的@nuxtjs/axios如何设置全局拦截器

红糖糍粑 2018-10-23 11:24:51
问题描述众所周知,在vue-cli开发中,我们可以二次封装axios(设置拦截器、baseURL、timeout等)但是再nuxt开发中,我试过了不用@nuxt/axios,自己封装一个axios,然后在需要用到的组件import进来,也成功用'@gauseen/nuxt-proxy进行的跨域处理,但是一直会报一个错connect ECONNREFUSED 127.0.0.1:80,客户端、服务端都会报错(服务端在asyncData中使用axios请求),现在我改用@nuxt/axios解决,但是我想知道怎么设置一个全局的拦截器呢?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

nuxt.config.js

{  modules: [    '@nuxtjs/axios',
  ],

  plugins: [    '~/plugins/axios'
  ]
}

插件/ axios.js

export default function ({ $axios, redirect }) {
  $axios.onRequest(config => {    console.log('Making request to ' + config.url)
  })

  $axios.onError(error => {    const code = parseInt(error.response && error.response.status)    if (code === 400) {
      redirect('/400')
    }
  })
}


查看完整回答
反对 回复 2018-10-23
  • 1 回答
  • 0 关注
  • 9596 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信