浅谈在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 相关文章推荐
再谈javascript图片预加载技术(详细演示)
Mar 12 Javascript
JavaScript子窗口ModalDialog中操作父窗口对像
Dec 11 Javascript
js通过八个点 拖动改变div大小的实现方法
Mar 05 Javascript
实例详解jQuery表单验证插件validate
Jan 18 Javascript
关于JavaScript数组你所不知道的3件事
Aug 24 Javascript
js模拟微博发布消息
Feb 23 Javascript
JavaScript事件发布/订阅模式原理与用法分析
Aug 21 Javascript
基于node简单实现RSA加解密的方法步骤
Mar 21 Javascript
vue实现抖音时间转盘
Sep 08 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
Oct 09 Javascript
微信公众号服务器验证Token步骤图解
Dec 30 Javascript
完美解决通过IP地址访问VUE项目的问题
Jul 18 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 禁止页面缓存输出
2009/01/07 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
srcElement表格样式
2006/09/03 Javascript
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
Electron vue的使用教程图文详解
2019/07/05 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
Python中的ceil()方法使用教程
2015/05/14 Python
Python的Django框架中的Context使用
2015/07/15 Python
使用Python3制作TCP端口扫描器
2017/04/17 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
Python读写zip压缩文件的方法
2018/08/29 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
实例详解Python模块decimal
2019/06/26 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
html5唤起app的方法
2017/11/30 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
承办会议欢迎词
2014/01/17 职场文书
教师专业自荐信
2014/05/31 职场文书
体育运动会广播稿
2014/10/05 职场文书
2015年度残疾人工作总结
2015/05/14 职场文书