浅谈在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 相关文章推荐
Zero Clipboard js+swf实现的复制功能使用方法
Mar 07 Javascript
Javascript读取cookie函数代码
Oct 16 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
Apr 13 Javascript
jQuery内容折叠效果插件用法实例分析(附demo源码)
Apr 28 Javascript
用JS实现图片轮播效果代码(一)
Jun 26 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
详解关于react-redux中的connect用法介绍及原理解析
Sep 11 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
Oct 11 Javascript
微信小程序上传图片功能(附后端代码)
Jun 19 Javascript
Vue实现根据hash高亮选项卡
May 27 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
May 30 jQuery
vue3.0中setup使用(两种用法)
Dec 02 Vue.js
浅谈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
第十二节--类的自动加载
2006/11/16 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
2018/10/08 Javascript
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
python判断设备是否联网的方法
2018/06/29 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
python障碍式期权定价公式
2019/07/19 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
python文件排序的方法总结
2020/09/13 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
法律专业应届生自荐信范文
2014/01/06 职场文书
市场安全管理制度
2014/01/26 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
开票员岗位职责
2015/02/12 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
安全生产奖惩制度
2015/08/06 职场文书
ICOM R71E和R72E图文对比解说
2022/04/07 无线电