浅谈在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中插件dialog实现弹框效果实例代码
Nov 15 Javascript
jquery+ajax请求且带返回值的代码
Aug 12 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 Javascript
浅谈js中的变量名和函数名重名
Feb 13 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
基于Vue制作组织架构树组件
Dec 06 Javascript
在HTML文档中嵌入JavaScript的四种方法
May 07 Javascript
Vue表单输入绑定的示例代码
Nov 01 Javascript
vue地址栏直接输入路由无效问题的解决
Nov 15 Javascript
layer 关闭指定弹出层的例子
Sep 25 Javascript
vux-scroller实现移动端上拉加载功能过程解析
Oct 08 Javascript
VUE兄弟组件传值操作实例分析
Oct 26 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
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHP基于Closure类创建匿名函数的方法详解
2017/08/17 PHP
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
2013/05/10 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
Javascript验证方法大全
2015/09/21 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
一个检测OpenSSL心脏出血漏洞的Python脚本分享
2014/04/10 Python
Python读写ini文件的方法
2015/05/28 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
python实现决策树分类算法
2017/12/21 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
python 5个顶级异步框架推荐
2020/09/09 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
塔吉特百货公司官网:Target
2017/04/27 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
python re模块和正则表达式
2021/03/24 Python
大学生职业生涯规划书模板
2014/01/03 职场文书
数控专业自荐书范文
2014/03/16 职场文书
电钳工人个人求职信
2014/05/10 职场文书
预备党员期盼十八届四中全会召开思想汇报
2014/10/17 职场文书
财务统计员岗位职责
2015/04/14 职场文书