vue

Vue中 对 axios 进行二次封装来发送请求

2022-07-09  本文已影响0人  你怀中的猫

一、几种发发请求的方式

二、axios

三、封装post和get请求

export default {
    // 这里使用promise来封装 axios中的post请求
    // 自己定义的post方法
    post(url, data_ = {}) {
        // 在自己定义的post方法中,将promise的实例化对象返回
        return new Promise((resolve, reject) => {

            // 在promise中使用 axios 中的post请求
            // 发送请求
            axios.post(url, {
                params: data_,
            }).then((res) => {
                return resolve(res.data);
            }).catch((err) => {
                return reject(err)
            })
        });
    },

    // 定义一个get方法
    get(url, data_) {
        return new Promise((resolve, reject) => {
            axios.get(url, {
                params: data_,
            }).then((res) => {
                return resolve(res.data);
            }).catch((err) => {
                return reject(err);
            })
        })
    },
}

四、在api的文件夹中引入我们封装好的post和get请求

export default {
    async getAllUsers(){
        //此处的api接口是我之前写好,用哪个接口写哪个接口
        return await axios.post('/vueapi/api/admin/getAllUsers');
    }
}

五、到页面文件去请求数据

   data(){
        return{
            dataList : '',  //将请求到的数据存放到dataList中
        }
    },
   methods : {
        //在哪里用就将这个方法调用,数据就可以出来
        async getAllUsers(){
            let res = await api.getAllUsers();
            this.dataList = res;
        },
    }
上一篇下一篇

猜你喜欢

热点阅读