1、在封装请求之前确保你的项目中已经安装了elementUI和axios(npm进行安装)
2、可以在你的项目文件中新建一个工具类文件夹,用来存放常用的工具类,我使用的是一个utils文件用来存放:
3、这里的ajax.js就是我的请求封装存放的位置,接着上代码,首先需要引入你的依赖:
4、用axios创建一个service服务,这里的baseurl可以直接像我这样取全局的api,也可以自己配置开发或者生产环境下的路径:
5、进行请求处理,相当于做一个请求拦截器
这里的loading处理是引用了element里的加载动画,根据项目需求自行处理,这这一部分里面你可以自己进行请求头信息的设置,例如携带token等操作。
6、创建响应拦截,对返回数据进行处理:
这里可以对返回数据进行处理,具体code需要根据项目需求或者与后端约定,进行相应的处理,这里以code=2001和2002为例。
当然你也需要对error进行处理,对响应进行区分,方便接口调试。最后将封装的service进行模块导出即可。
7、如何使用封装的axios请求?
在项目里一般都是有单独的文件夹对接口进行封装,这里我使用的是api.js文件,
在文件中首先根据路劲引入刚刚封装好的ajax.js文件:
import ajax from '@/utils/ajax'
然后就可以进行接口的封装了,eg:
export function ygList(s) {
return ajax({
method: 'post',
url: '/event/eventList',
data:s
})
}
在页面中引入接口名即可使用,这里我使用的是
ygList().then(res=>{处理res即可})