浅谈在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 相关文章推荐
Js 订制自己的AlertBox(信息提示框)
Jan 09 Javascript
js 获取(接收)地址栏参数值的方法
Apr 01 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
jQuery获取多种input值的简单实现方法
Jun 20 Javascript
javascript数组遍历的方法实例分析
Sep 13 Javascript
Angularjs的键盘事件的绑定
Jul 27 Javascript
Vue.js中关于侦听器(watch)的高级用法示例
May 02 Javascript
Koa2微信公众号开发之消息管理
May 16 Javascript
React中使用外部样式的3种方式(小结)
May 28 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
VUE使用axios调用后台API接口的方法
Aug 03 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
CI框架常用方法小结
2016/05/17 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
javascript Keycode对照表
2009/10/24 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
JavaScript创建对象方法实例小结
2018/09/03 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
[01:57]2018DOTA2亚洲邀请赛赛前采访-iG
2018/04/03 DOTA
python实现网站的模拟登录
2016/01/04 Python
python数据结构之列表和元组的详解
2017/09/23 Python
python之文件读取一行一行的方法
2018/07/12 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
python3.4爬虫demo
2019/01/22 Python
python中报错"json.decoder.JSONDecodeError: Expecting value:"的解决
2019/04/29 Python
python字典的遍历3种方法详解
2019/08/10 Python
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
当文件系统受到破坏时,如何检查和修复系统?
2012/03/09 面试题
大学理论知识学习自我鉴定
2014/04/28 职场文书
银行求职自荐信
2014/06/30 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
《坐井观天》教学反思
2016/02/18 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
Vue3中toRef与toRefs的区别
2022/03/24 Vue.js