WEB前端

axios 设置全局信息

2019-10-22  本文已影响0人  笙笙哥

axios 为我们提供了丰富的功能。
其中一项就是设置全局信息:

axiosConfig: () => {
    //设置默认的全局的域名/前缀
    axios.defaults.baseURL = CONFIG.HOST;
    axios.defaults.headers.post['Content-Type'] = 'application/json';
    axios.defaults.timeout = 5000;
    axios.defaults.withCredentials = true;

    let storage = window.localStorage;
    let user = storage.getItem(USER);
    if (user) {
        user = JSON.parse(user);
        //设置全局的授权信息
        axios.defaults.headers['authorization'] = user.accessToken;
    }
},

这样,在每一次访问时,axios会自带这些信息,我们就不用再次将axios封装了。

并且,当你不想使用这些默认/模板信息时,还可以重新创建实例/模板:

const instance = axios.create({
  baseURL: 'https://you-domain.com/api/',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

实例的使用:

instance.get('/longRequest', {
  timeout: 5000
});

实例同样可以修改默认参数:

instance.defaults.timeout = 2500;
上一篇 下一篇

猜你喜欢

热点阅读