在Vue-cli里基于axios封装复用请求
来源:互联网 发布:晕血学生物 知乎 编辑:程序博客网 时间:2024/05/17 08:56
写在前面:
自从Vue2.0推荐大家使用 axios 开始,axios 被越来越多的人所了解。使用axios发起一个请求对大家来说是比较简单的事情,但是axios没有进行封装复用,项目越来越大,引起的代码冗余。就会非常麻烦的一件事。所以本文会详细的跟大家介绍,如何封装请求,并且在项目组件中复用请求。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。
本文首发于我的个人blog:obkoro1.com
安装
只用安装一个axios就可以了。
npm install axios --save
接口代理设置
为了请求可以正常发送,我们一般要进行一个接口代理的配置,这样可以避免请求跨域,项目打包之后,后端一般也要搭建一个nginx之类的东西进行转发请求,不然请求会因为跨域问题失败的。
//文件位置:config/index.jsproxyTable: { '/api': { target: 'http://47.95.xxx.246:8080', // 通过本地服务器将你的请求转发到这个地址 changeOrigin: true, // 设置这个参数可以避免跨域 pathRewrite: { '/api': '/' } },},
设置好了之后,当你在项目中要调用http://47.95.xxx.246:8080
这个服务器里面的接口,可以直接用/api
代替服务器地址。
发起请求
main.js入口文件中:
import axios from 'axios';//引入文件Vue.prototype.$http = axios;//将axios挂载到Vue实例中的$ajax上面,在项目中的任何位置通过this.$http使用
没有封装发起请求:
//没有封装的时候,在组件中发起请求的方式: this.$ajax({ url:'/api/articles',//api 代理到json文件地址,后面的后缀是文件中的对象或者是数组 method:'get',//请求方式 //这里可以添加axios文档中的各种配置 }).then(function (res) { console.log(res,'成功'); }).catch(function (err) { console.log(err,'错误'); })//还可以像下面这么简写 this.$ajax.get('api/publishContent').then((res) => { console.log(res,'请求成功') },(err)=>{ console.log(err,'请求失败'); });
封装请求
封装的时候,我通常喜欢把请求抽象成三个文件,文件位置放在src中,只要你能引用到,就没问题,如下图所示:
创建三个.js文件,里面我都很认真的注释了,我就直接贴图片了,在文末我把这三个文件的地址发出来,需要的小伙伴自取。
fetch.js:
url.js:
api.js
在组件里面如何使用接口:
封装axios文件地址在这里:传送门
代码注释什么的,已经蛮多了,跟着文章一步一步走,实现封装axios请求,没毛病的。本文并没有把很多功能都完整的列出来,主要是追求一个上手,剩下的东西,各位小伙伴们可以自行研究。
最后:如需转载,请放上原文链接并署名。码字不易,感谢支持!本人写文章本着交流记录的心态,写的不好之处,不撕逼,但是欢迎指点。然后就是希望看完的朋友点个喜欢,也可以关注一下我。
blog网站 and 掘金个人主页
以上2017.11.6
- 在Vue-cli里基于axios封装复用请求
- 在 vue-cli 里基于 axios 封装复用请求
- 基于vue-cli的vue项目之axios的使用5--axios方法发送请求
- vue里发请求用axios
- vue 组件的封装之基于axios的ajax请求
- 基于vue-cli的vue项目之axios的使用2--最基础的请求
- 基于vue-cli的vue项目之axios的使用3--get传参请求
- 基于vue-cli的vue项目之axios的使用4--并发请求
- vue-cli 使用axios
- vue请求类的封装,基于jQuery版本和Axios,两个版本
- 基于vue-cli的vue项目之axios的使用6--配置axios
- vue实力封装axios
- vue axios 二次封装
- vue 封装 axios
- vue项目封装axios
- vue 请求采用axios
- 基于vue-cli的vue项目之axios的使用1--准备工作
- 基于vue-cli的反向代理设置及axios获取json数据
- java学习笔记——程序运行过程
- Spark 用户访问量
- Android --- 多媒体应用(使用VideoView、TextureView播放视频)
- [DP 倍增Floyd] LOJ#539.「LibreOJ NOIP Round #1」旅游路线
- Chrome 浏览器客户端调试大全
- 在Vue-cli里基于axios封装复用请求
- caffe中的SoftmaxLoss层
- wxWidgets嵌入CEF3,并实现JavaScript调用C++代码
- JZOJ 2413. 【NOI2005】维护数列
- 骨牌铺方格
- sql优化
- 类的特点--继承
- VS2010+OPENCV3.0配置备忘
- 机器学习算法推荐