axios拦截器

项目要用到JTW需要携带token到后台,用的vue,于是写了一个axios的拦截器,先说拦截器的原理,axios是基于Promise的,拦截器就是,你在发送请求前准备要加上的数据处理,又拦截器就有响应器,响应器就是得到返回数据后的数据处理,

 

class AjaxRequest {

  constructor() {

    this.baseURL = process.env.NODE_ENV === 'development' ? 'http://localhost:3000' : '/';

    this.timeout = 2000;

  }

 

  request(config) { // 用户请求设置的方法

    const instance = axios.create({

      baseURL: this.baseURL,

      timeout: this.timeout,

    });

    // 设置拦截器

    console.log(config)

    instance.interceptors.request.use((config) => {

      console.log(1);

      config.headers.Authorization = localStorage.getItem('token');

      return config;

    }, err => Promise.reject(err));

    instance.interceptors.request.use((config) => {

      config.headers.Authorization = localStorage.getItem('token');

      return config;

    }, err => Promise.reject(err));

    // 设置响应拦截器

    instance.interceptors.response.use(res => res.data, err => Promise.reject(err));

    

 

    console.log(instance(config))

    console.log(config)


 

    return instance(config);

  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值