浅谈在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原生方法创建表格效率测试
Jul 08 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
May 25 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
Nov 04 Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 Javascript
微信小程序 天气预报开发实例代码源码
Jan 20 Javascript
js和jquery中获取非行间样式
May 05 jQuery
浅谈vue-cli 3.0.x 初体验
Apr 11 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
小程序中this.setData的使用和注意事项
Aug 28 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
three.js如何实现3D动态文字效果
Mar 03 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
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
浅谈JavaScript中的属性:如何遍历属性
2017/09/14 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
详解VUE前端按钮权限控制
2019/04/26 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Python 处理数据的实例详解
2017/08/10 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
Python中logging实例讲解
2019/01/17 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
简约控的天堂:The Undone
2016/12/21 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
制衣厂各岗位职责
2013/12/02 职场文书
大学新生欢迎词
2014/01/10 职场文书
终止合同协议书
2014/04/17 职场文书
合伙协议书范本
2014/04/21 职场文书
早读课迟到检讨书
2014/09/25 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript