Vue中axios拦截器,传token给后端

创建一个js文件,名称自己定,如service.js

import axios from "axios";  // 引入axios
// 自定义一个axios实例
const service = axios.create(
      baseURL: "10.xx.xx.x",  // 后端接口ip
      timeout: "1000",  //  请求时间限制,超过时间请求会被中断
      headers: {'Content-Type': 'application/x-www-form-urlencoded'} // 请求头
)

// 请求拦截器
service.interceptors.request.use(
        config => {
                const token = "xxx";  // 在vuex里面保存的token
                if(token) {
                  // 存在token时则在请求头headers里加入token
                  // X-Token为自定义字段,根据后端的规定来定义
                  config.headers["X-Token"] = token
                }
                return config;
        }, error => {
                return Promise.reject(error);
        }
)

//    响应拦截器
service.interceptors.response.use(
      response => {
                console.log(response, 'response')
                if(response.data.code === 200){}
                return response;
         }, error => {
      return Promise.reject(error);
    }
)

export default service;

推荐阅读更多精彩内容