浅谈在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实现长文字部分显示代码
May 13 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
Jan 22 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
JS实现不规则TAB选项卡效果代码
Sep 16 Javascript
JS实战篇之收缩菜单表单布局
Dec 10 Javascript
jquery 手势密码插件
Mar 17 Javascript
深入学习 JavaScript中的函数调用
Mar 23 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 15 Javascript
vue实现跳转接口push 转场动画示例
Nov 01 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 Javascript
如何在vue 中使用柱状图 并自修改配置
Jan 21 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
深入了解PHP类Class的概念
2012/06/14 PHP
PHP中imagick函数的中文解释
2015/01/21 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
Jquery Change与bind事件代码
2011/09/29 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
Python文件与文件夹常见基本操作总结
2016/09/19 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
python装饰器原理与用法深入详解
2019/12/19 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
Python sep参数使用方法详解
2020/02/12 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
python os模块在系统管理中的应用
2020/06/22 Python
详解HTML5新增标签
2017/11/27 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
2014/03/26 HTML / CSS
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
2014年端午节演讲稿范文
2014/05/23 职场文书
2014年教师工作总结
2014/11/10 职场文书
综合素质评价自我评价
2015/03/06 职场文书
2015年度个人思想工作总结
2015/04/08 职场文书
培养联系人考察意见
2015/06/01 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python