axios拦截器使用

import axios from 'axios' // axios引用
import store from '../../store'	// store引用
const serivce = axios.create({ // 创建服务
  baseURL: 'http://test.************.net', // 基础路径
  timeout: 5000 // 请求延时
})
serivce.interceptors.request.use( // 请求拦截
  config => {
    if (store.getters.userToken) {
      config.headers['X-Token'] = store.getters.userToken
      config.headers['User-Type'] = store.getters.userType ? store.getters.userType : '' // 请求头中存放用户信息
      config.onUploadProgress = (progressEvent) => {
        var complete = (progressEvent.loaded / progressEvent.total * 100 | 0) + '%'
        store.dispatch('setupLoadPercent', complete)
      }
    }
    return config
  },
  error => {
    return Promise.reject(error)
  }
)
serivce.interceptors.response.use( // 回复拦截,主要针对部分回掉数据状态码进行处理
  response => {
    return response
  },
  error => {
    return Promise.reject(error)
  }
)
export default serivce

你可能感兴趣的:(javascript,vue,axios)