浅谈在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 相关文章推荐
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
Dec 20 Javascript
jQuery的end()方法使用详解
Jul 15 Javascript
浅谈JavaScript对象的创建方式
Jun 13 Javascript
JS实现动态添加DOM节点和事件的方法示例
Apr 28 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
May 15 Javascript
使用Javascript简单计算器
Nov 17 Javascript
js中实例与对象的区别讲解
Jan 21 Javascript
Javascript删除数组里的某个元素
Feb 28 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
Jun 20 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
Jan 04 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
Apr 27 Javascript
JS数组方法some、every和find的使用详情
Oct 05 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
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
PHP7 其他修改
2021/03/09 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
js Function类型
2011/12/04 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
python多线程编程中的join函数使用心得
2014/09/02 Python
Python的re模块正则表达式操作
2016/05/25 Python
Python Socket使用实例
2017/12/18 Python
解决python报错MemoryError的问题
2018/06/26 Python
python 接收处理外带的参数方法
2018/12/03 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
简单了解python单例模式的几种写法
2019/07/01 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
民主评议党员自我鉴定
2014/10/21 职场文书
五年级学生评语大全
2014/12/26 职场文书
长征观后感
2015/06/09 职场文书
求职信如何撰写?
2019/05/22 职场文书
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏
德生2P3收音机开箱评测
2022/04/30 无线电