本文共 1299 字,大约阅读时间需要 4 分钟。
最近一系列的博客都是有关Vue的,在此小咸儿将自己学习到的内容总结,分享出来,希望能够跟大家交流。
在src目录下创建axios文件夹,并且文件夹下创建index.js文件
index.js文件中的代码内容:import Vue from 'vue'import axios from 'axios'// import router from '../router'Vue.prototype.$axios = axios// http请求// axios request 拦截器axios.interceptors.request.use( config => { // 下面会说在什么时候存储 token,判断是否已经携带了token信息 if (localStorage.getItem('token')) { config.headers['Authorization'] = localStorage.getItem('token') config.headers['Content-Type'] = 'application/json' var companyId = localStorage.getItem('schoolNo') + 'Bn*****BqYV*****e4M*****' config.headers['companyId'] = companyId } return config }, err => { return Promise.reject(err) })// axios response 拦截器axios.interceptors.response.use( response => { // 判断一下响应中是否有token,如果有就直接使用此token替换掉本地的token var token = response.headers.Authorization if (token) { // 如果header中存在token,那么触发refreshToken方法,替换本地的token axios.defaults.headers.common['Authorization'] = token } return response }, error => { return Promise.reject(error) // 这里可以根据业务需要,填写返回的错误码 })Vue.http = Vue.prototype.$http = instanceexport default axios
文件完成之后,在main.js文件中引入axios,导入拦截器
代码内容:import axios from './axios' // 导入拦截器 axios封装Vue.prototype.$axios = axios
Vue拦截器参考资料:
转载地址:http://qcerb.baihongyu.com/