新时代的 jquery.ajax,vue-resource 的替代者,基于 Promise 开发,兼容浏览器和node.js,
vue 中配置 axios
首先还是安装插件:
1 | npm i axios |
在 main.js 中引用 axios
1 | import axios from 'axios'; |
直接使用时,post 方法无法将参数传往后台,因为默认axios默认使用:Request Payload 传参,而不是我们常用的
1 | 'application/x-www-form-urlencoded' |
解决问题方法很多,一种是用新接口 URLSearchParams ,但兼容性差不推荐。
1 | var params = new URLSearchParams(); |
另一种用 axios 自家的 qs 模块,不用特意安装,安装 axios 默认依赖了qs 用时直接引入
1 | import qs from 'qs'; |
在 vue 中每次使用都引入一大堆显然很蠢,可以自己封装函数,然后使用封装后函数,或者,我采用进行 axios 的基础配置:
1 |
|
因为是使用了 elementUI 的 loading 插件,在每次经行与后台的数据交互的时候就显示 loading 图;
目的是提高用户体验,但这里使用了一个全屏的 loading 实际页面像是刷新了一样,体验不佳,大体功能做完后修改;
其实也可以封装为函数,用到的 get post 方法单独封装,后期用到哪个接口就引入那个,更符合模块化思维,但我们这里因为是pc端,所以请让我偷个懒。