axios的二次封装
2020-03-27 19:28
1236 查看
这次是对axios进行简单的二次封装(vue项目中)
- 在项目的根目录中使用 npm i axios -S 安装好axios
- 创建一个http.js文件
// 提供ajax请求 // 对axios进行二次封装 import axios from 'axios' import {HOST} from './api' export default class Http{ static async request(method, url, data){ // 发送请求 const response = await axios.request({ method, url, baseURL: HOST, params: method === 'GET' ? data : null, data: method === 'POST' ? data : null }); // 判断是否成功 return this.isSuccess(response); }; // 判断响应结果是否成功 static isSuccess(res){ if(res.status >= 200 && res.status < 300){ return res; }else{ this.requestExpection(res); } }; // 构建失败对象 static requestExpection(res){ throw new Error(res); }; // get便捷方法 static get(url, data){ return this.request('GET', url, data); }; // post便捷方法 static post(url, data){ return this.request('POST', url, data); } }
api.js文件为api各接口,可根据自己请求数据的地址填写
// 管理api export const HOST = 'http://www.baidu.com:80'; /* xxx接口 参数:id */ const GOODS_LIST_API = '/api/home/catelist/itemlist'; /* xxx接口 参数:id */ const GOODS_DETAIL_API = '/api/item/detail'; export default { GOODS_LIST_API, GOODS_DETAIL_API }
- 使用
import api from '../utils/api' import Http from '../utils/Http' const requestGoodsListData = async ()=>{ // 发送请求 const data = await Http.get(api.GOODS_LIST_API, {id: '1043000'}); //剩余对数据操作的代码 . . . }
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- axios二次封装
- Vue之axios的使用与二次封装
- Vue二次封装axios
- vue中使用axios+Promise二次封装ajax请求
- vue--------之axios的使用与二次封装
- axios二次封装学习
- 二次封装axios的请求拦截
- 二次封装axios,根据参数来实现多个请求多次拦截
- vue-axios二次封装
- 在vue-cli 3.0 + 中,对 axios 的二次封装
- nuxt之axios 二次封装
- Retrofit2.0结合RxAndroid实现二次封装
- JQuery Ajax的实现原理以及二次封装通用的Ajax
- Vue中封装axios发送请求
- 基于jsoneditor二次封装一个可实时预览的json编辑器组件(react版)
- okhttp的二次封装加入泛型
- 本地缓存下载文件,download的二次封装
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- vue 封装 axios
- python的schedule定时任务模块二次封装方法