浅谈在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 相关文章推荐
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
Nov 21 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
JQuery的ready函数与JS的onload的区别详解
Nov 21 Javascript
javascript 动态创建表格的2种方法总结
Mar 04 Javascript
IScroll5 中文API参数说明和调用方法
May 21 Javascript
vue2 自定义动态组件所遇到的问题
Jun 08 Javascript
JS数组操作之增删改查的简单实现
Aug 21 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
Aug 30 Javascript
JS中用EL表达式获取上下文参数值的方法
Mar 28 Javascript
vue中对象数组去重的实现
Feb 06 Javascript
node.js中fs文件系统模块的使用方法实例详解
Feb 13 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
2019/04/02 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
分析js闭包引起的事件注册问题
2016/03/29 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
jquery获取select,option所有的value和text的实例
2017/03/06 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
python仿抖音表白神器
2019/04/08 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
Otticanet澳大利亚:最顶尖的世界名牌眼镜, 能得到打折季的价格
2018/08/23 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
thinkphp5 redis缓存新增方法实例讲解
2021/03/24 PHP
学生的自我鉴定范文
2013/10/24 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
后备干部考察材料
2014/02/12 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
公司股东出资证明书
2014/11/01 职场文书
英语教师个人工作总结
2015/02/09 职场文书
2015年工会工作总结
2015/03/30 职场文书
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python