浅谈在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获取class的所有元素
Mar 28 Javascript
javascript匿名函数应用示例介绍
Mar 07 Javascript
jQuery实现鼠标经过图片预览大图效果
Apr 10 Javascript
js 获取元素在页面上的偏移量的方法汇总
Apr 13 Javascript
JavaScript中常见的字符串操作函数及用法汇总
May 04 Javascript
浅谈javascript事件取消和阻止冒泡
May 26 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
Oct 26 Javascript
详解Bootstrap按钮
Jan 04 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
Sep 20 Javascript
Bootstrap学习笔记之环境配置(1)
Dec 07 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
小程序图片长按识别功能的实现方法
Aug 30 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 高手之路(一)
2006/10/09 PHP
PHP面向对象编程快速入门
2006/12/14 PHP
php 动态执行带有参数的类方法
2009/04/10 PHP
php 缩略图实现函数代码
2011/06/23 PHP
基于PHP选项与信息函数的使用详解
2013/05/10 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
JQuery之focus函数使用介绍
2013/08/20 Javascript
jQuery实现设置、移除文本框默认值功能
2015/01/13 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
vue实现搜索功能
2019/05/28 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
Python实现数据库编程方法详解
2015/06/09 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
Django模型中字段属性choice使用说明
2020/03/30 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
香港时装购物网站:ZALORA香港
2017/04/23 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
安全生产投入制度
2014/01/29 职场文书
北京颐和园导游词
2015/01/30 职场文书
银行先进个人总结
2015/02/15 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
Vue router配置与使用分析讲解
2022/12/24 Vue.js