浅谈在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 相关文章推荐
Jquery 获取checkbox的checked问题
Nov 16 Javascript
js获得鼠标的坐标值的方法
Mar 13 Javascript
Js点击弹出下拉菜单效果实例
Aug 12 Javascript
AngularJs Understanding the Controller Component
Sep 02 Javascript
jQuery弹出div层过2秒自动消失
Nov 29 Javascript
原生js实现商品放大镜效果
Jan 12 Javascript
js 事件的传播机制(实例讲解)
Jul 20 Javascript
微信小程序如何再次获取用户授权的方法
May 10 Javascript
node.js express框架简介与实现
Jul 23 Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
如何使用Javascript中的this关键字
May 28 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
模拟xcopy的函数
2006/10/09 PHP
PHP4实际应用经验篇(5)
2006/10/09 PHP
PHP date()格式MySQL中插入datetime方法
2019/01/29 PHP
PHP中“=>
2019/03/01 PHP
用javascript实现页面打印的三种方法
2007/03/05 Javascript
传递参数的标准方法(jQuery.ajax)
2008/11/19 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
详解duck typing鸭子类型程序设计与Python的实现示例
2016/06/03 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
python unichr函数知识点总结
2020/12/16 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
Godiva巧克力英国官网:比利时歌帝梵巧克力
2018/08/28 全球购物
生产副总岗位职责
2013/11/28 职场文书
物理力学求职信
2014/02/18 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
安全生产月演讲稿
2014/05/09 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
2015年端午节活动总结
2015/02/11 职场文书
2015年助残日活动总结
2015/03/27 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书