拦截器

什么是拦截器?

在发请求和获取服务器响应数据的过程中,可以设置拦截器将请求或响应的数据流拦截下来,做相关操作以后再放行,有请求拦截器和响应拦截器两种。

请求拦截器

在发请求时,将请求拦截下来,自动带上token

axios.interceptors.request.use(function (config) {
    //发请求时,自动携带token
    let token = local.get('token');
    if(token){
        config.headers.Authorization = 'Bearer '+token;
    }

    return config;
}, function (error) {
    return Promise.reject(error);
});

响应拦截器

在axios三层封装的第一层设置拦截器,用于拦截响应的数据,并根据操作状态弹出对应的提示框

文件:utils/request.js

//添加响应拦截器
axios.interceptors.response.use(function (res) {
    //判断操作状态是否成功
    if(res.data.code===0){
        Message.success(res.data.msg);
    }else{
        Message.error(res.data.msg)
    }

    return res;
}, function (err) {
    //访问失败时执行
    return Promise.reject(err);
});
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐