浅谈在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获取元素值的方法(常见的表单元素)
Nov 15 Javascript
一个JavaScript递归实现反转数组字符串的实例
Oct 14 Javascript
js中数组的常用方法小结
Dec 30 Javascript
js自定义QQ菜单效果
Jan 10 Javascript
JavaScript的事件机制详解
Jan 17 Javascript
jQuery简单实现遍历单选框的方法
Mar 06 Javascript
微信小程序 setData使用方法及常用错误解决办法
May 11 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
Sep 29 Javascript
详解vue2.0 资源文件assets和static的区别
Nov 27 Javascript
微信小程序导航栏跟随滑动效果的实现代码
May 14 Javascript
Vue通过Blob对象实现导出Excel功能示例代码
Jul 31 Javascript
原生js拖拽功能制作滑动条实例代码
Feb 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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP防CC攻击实现代码
2011/12/29 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
php文件管理基本功能简单操作
2017/01/16 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
cssQuery()的下载与使用方法
2007/01/12 Javascript
JS 判断代码全收集
2009/04/28 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
jquery实现用户信息修改验证输入方法汇总
2015/07/18 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
推荐10款扩展Web表单的JS插件
2017/12/25 Javascript
vuex操作state对象的实例代码
2018/04/25 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
纯用NumPy实现神经网络的示例代码
2018/10/24 Python
python3.5安装python3-tk详解
2019/04/26 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
Python3开发环境搭建详细教程
2020/06/18 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
公务员上班玩游戏检讨书
2014/09/17 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
先进党员事迹材料
2014/12/24 职场文书
pycharm 如何查看某一函数源码的快捷键
2021/05/12 Python