axios请求的封装

/* axios的请求封装 */
        //axios的原生写法get,post请求
        //第一个参数为请求地址,第二个参数为请求的参数,params是将参数拼接在url的后面
  axios.get(url, {
            params: {
                id: 1
            }
        }),
 
 //第一个参数为请求地址,第二个参数为请求的参数,第三个为配置项,可传可不传
  axios.post(url, {
                firstName: 'Fred',
                lastName: 'Flintstone'
            }, {}).then(res => {

            }).catch(error => {
                console.log(error);
            })
  封装axios请求的好处:
            1。 因为我们开发项目的环境分为三种环境,分别是:开发环境,测试环境,生产环境,每个环境对应的请求 路径的域名不一样,我们传入的url = 域名(https://baudu.com)+ 路(/api.sv/jdmsding/num), 如果不封装的话,到时候切换环境时,需要找到文件修改各个url,非常麻烦,所以封装可以解决
            2.  封装的话,可以对数据进行请求的拦截,比如我们每次请求时,需要一个token值,那么我们只需要在请求拦截里给他加上token即可,响应拦截,可以根据返回的状态值做出响应的判断        
     //引入axios
        import axios form 'axios';

        //创建实例的作用是,可以让将baseUrl拼接在url的前面,给axios设置默认值
        const instance = axios.create({
            balseUrl: "https://baudu.com/api.sv",
            timeout: 5000
        })
        //添加请求拦截---每次发送请求,都会经过请求拦截
        instance.interceptors.request.use(function (config) {
            //比如,添加了一个请求头
            config.headers.token = "12356"
            return config
        }, function (error) {
            return Promise.reject(error)
        });
        // 添加响应拦截器
        axios.interceptors.response.use(function (response) {
            // 对响应数据做点什么,比如
            if(response.code == 404){
                //做些什么
            }
            return response;
        }, function (error) {
            // 对响应错误做点什么
            return Promise.reject(error);
        });
        export function get(url, params) {
            return instance.get({
                url: url,
                params: params
            })
        }
        export function post(url, params) {
            return instance.post({
                url: url,
                data: params
            })
        }
使用的封装的时候直接 在需要请求的地方引入
        import {get,post} from './request';
然后直接使用
        get(url,params).then(res=>{

        }).catch(error=>{})
        
posted @ 2021-03-03 21:54  江上雪  阅读(735)  评论(0编辑  收藏  举报