vue配置请求拦截器和响应拦截器

Posted jack-cx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue配置请求拦截器和响应拦截器相关的知识,希望对你有一定的参考价值。

首先确保我们已经设置的store.js进行值的存取,这时候我们需要配置请求和响应的拦截器设置

main.js

 

import Vue from ‘vue‘
import App from ‘./App‘
import router from ‘./router‘
import ElementUI from ‘element-ui‘
import ‘element-ui/lib/theme-chalk/index.css‘
import axios from ‘axios‘
// 引入store 
import store from ‘./store‘

// 如何localStorage的token不存在或是空跳转到路由
router.beforeEach((to, from, next) => {
  if (to.path === ‘/‘) {
    next();
  } else {
    let token = window.localStorage.token;
    if (token === ‘null‘ || token === ‘‘ || token === undefined) {
      next(‘/‘);
    } else {
      next();
    }
  }

})




//与后端定义状态是100签名错误 跳转到登录界面
axios.interceptors.response.use(
  response => {
    //当返回信息为未登录或者登录失效的时候重定向为登录页面
    if (response.data.status == 100 || response.data.message == ‘用户未登录或登录超时,请登录!‘) {
      router.push({
        path: "/",
        querry: { redirect: router.currentRoute.fullPath }//从哪个页面跳转
      })
    }
    return response;
  },
  error => {
    return Promise.reject(error)
  }
)

  

以上是关于vue配置请求拦截器和响应拦截器的主要内容,如果未能解决你的问题,请参考以下文章

关于vue和react中axios请求的拦截和响应拦截

vue axios请求/响应拦截器

axios中的请求拦截器怎么用

vue:axios拦截器

axios网络请求基本使用配置使用(全局axios和局部axios实例)模块封装axios拦截器

vue中axios请求拦截器和响应拦截器 以及401状态处理