浅谈在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 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
JQuery动态添加Select的Option元素实现方法
Aug 29 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
JavaScript数据结构中串的表示与应用实例
Apr 12 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
Jul 13 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
webpack@v4升级踩坑(小结)
Oct 08 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 Javascript
vue使用自定义指令实现拖拽
Jan 29 Javascript
基于JS实现操作成功之后自动跳转页面
Sep 25 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+APACHE实现用户论证的方法
2006/10/09 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
vue2.0开发实践总结之入门篇
2016/12/06 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
2017/09/15 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
python实现巡检系统(solaris)示例
2014/04/02 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
python的slice notation的特殊用法详解
2019/12/27 Python
Python 中@property的用法详解
2020/01/15 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
python利用opencv实现SIFT特征提取与匹配
2020/03/05 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
Python基于内置函数type创建新类型
2020/10/22 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
幼儿园师德演讲稿
2014/05/06 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
教师求职简历自我评价
2015/03/10 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技