axios的简单使用

import axios, { AxiosPromise, AxiosError, AxiosResponse } from 'axios';
// 对请求头的处理,与后端约定
axios.interceptors.request.use((config) => {
    let clientIP = window.vm.$store && window.vm.$store.getters.clientIP;
    if (clientIP) {
        config.headers['X-Client-Ip'] = clientIP;
    }
    return config;
});
// 处理返回结果
axios.interceptors.response.use((res) => {
    return res;
}, (err: AxiosError) => {
    window.vm.ajaxError(err.response);
    return Promise.reject(err);
});
// 定义通用的请求方法
async mixGet(url: string, params?: any, loading: boolean = true, headers: any = {}) {
        this.showLoading(loading);
        let res = await axios.get(url, { params, headers });
        loading && this.mixHideLoading();
        return res;
}
// 错误处理
ajaxError(err: AxiosResponse) {
        switch (err.status) {
            case 401:
                sessionStorage.clear();
                localStorage.clear();
                if (this.$route.path != '/') {
                    this.$router.replace('/');
                }
                location.reload();
                break;
            default:
                let message = err.data.message;
                if (message) {
                    this.mixShowTips(message, 'error');
                }
                break;
        }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 夜莺2517阅读 127,958评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 7,227评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,787评论 28 54
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,739评论 2 9

友情链接更多精彩内容