浅谈在Vue-cli里基于axios封装复用请求


Posted in Javascript onNovember 06, 2017

本文介绍了浅谈在Vue-cli里基于axios封装复用请求,分享给大家,具体如下:

安装

只用安装一个axios就可以了。

npm install axios --save

接口代理设置

为了请求可以正常发送,我们一般要进行一个接口代理的配置,这样可以避免请求跨域,项目打包之后,后端一般也要搭建一个nginx之类的东西进行转发请求,不然请求会因为跨域问题失败的。

//文件位置:config/index.js
proxyTable: {
 '/api': {
  target: 'http://47.95.xxx.246:8080', // 通过本地服务器将你的请求转发到这个地址
  changeOrigin: true, // 设置这个参数可以避免跨域
  pathRewrite: {
   '/api': '/'
  }
 },
},

浅谈在Vue-cli里基于axios封装复用请求 

设置好了之后,当你在项目中要调用 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中,只要你能引用到,就没问题,如下图所示:

浅谈在Vue-cli里基于axios封装复用请求 

创建三个.js文件,里面我都很认真的注释了,我就直接贴图片了,在文末我把这三个文件的地址发出来,需要的小伙伴自取。

fetch.js:

浅谈在Vue-cli里基于axios封装复用请求 

url.js:

浅谈在Vue-cli里基于axios封装复用请求 

api.js

浅谈在Vue-cli里基于axios封装复用请求 

在组件里面如何使用接口:

浅谈在Vue-cli里基于axios封装复用请求 

封装axios文件地址在这里:传送门

代码注释什么的,已经蛮多了,跟着文章一步一步走,实现封装axios请求,没毛病的。本文并没有把很多功能都完整的列出来,主要是追求一个上手,剩下的东西,各位小伙伴们可以自行研究。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
很多人都是用下面的js刷新站IP和PV
Sep 05 Javascript
js中arguments,caller,callee,apply的用法小结
Jan 28 Javascript
jQuery.each使用详解
Jul 07 Javascript
手机端转盘抽奖代码分享
Sep 10 Javascript
SWFUpload多文件上传及文件个数限制的方法
May 31 Javascript
JS Canvas定时器模拟动态加载动画
Sep 17 Javascript
JS匿名函数类生成方式实例分析
Nov 26 Javascript
AngularJs+Bootstrap实现漂亮的计算器
Aug 10 Javascript
Vue实现web分页组件详解
Nov 28 Javascript
微信小程序实现点击效果
Jun 21 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
Dec 17 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 Javascript
浅谈mint-ui 填坑之路
Nov 06 #Javascript
基于vue实现分页效果
Nov 06 #Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
Nov 06 #Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 #Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
Nov 06 #Javascript
vue自定义过滤器创建和使用方法详解
Nov 06 #Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 #Javascript
You might like
NOT NULL 和NULL
2007/01/15 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
运用Windows XP附带的Msicuu.exe、Msizap.exe来彻底卸载顽固程序
2007/04/21 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
JS中操作JSON总结
2020/12/06 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
2016/01/18 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
plupload+artdialog实现多平台上传文件
2016/07/19 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
Node.js文件编码格式的转换的方法
2018/04/27 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
介绍Python中几个常用的类方法
2015/04/08 Python
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
详解django自定义中间件处理
2018/11/21 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
2016年元旦致辞
2015/08/01 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技