vue项目中axios使用详解


Posted in Javascript onFebruary 07, 2018

axios在项目中(vue)的使用

没有vue项目的使用vue-cli脚手架生成一个webpack模板的项目即可愉快的看下去了~

如果开发遇到跨域问题可以参考:https://3water.com/article/134571.htm

安装axios到项目中

npm install axios --save

配置wepack别名,不同环境访问不同的配置接口

配置:

vue项目中axios使用详解

使用:import config from 'config'

封装一个axios实例

新建fetch.js,在此创建axios实例与过滤器

若配置了代理。则config.apiBaseUrl则配置代理的前缀即可

import config from 'config'
import axios from 'axios'
// import qs from 'qs';

const instance = axios.create({
 baseURL: config.apiBaseUrl, // api的base_url
 timeout: 10000,    // 请求超时时间
 // transformRequest: data => qs.stringify(data) 
});
axios默认提交格式为:application/json,转换后提交格式为application/x-www-form-urlencoded
在asp.net core中,需要在action方法上添加[FromBody]接收json格式的数据,正常的都是application/x-www-form-urlencoded故有此修改。
按照使用需要安装qs到项目中,可转换数据格式类型
npm install qs --save

使用qs转换请求对比图

vue项目中axios使用详解

给实例添加拦截器

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
 // 在发送请求之前做些什么
 return config;
 }, function (error) {
 // 对请求错误做些什么
 return Promise.reject(error);
 });

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
 // 对响应数据做点什么
 return response;
}, function (error) {
 // 对响应错误做点什么
 return Promise.reject(error);
});
 // 最后暴露实例
export default instance

实例的调用

若配置了express代理,请求路径为:浏览器->express开发服务器-----发送请求---->接口服务器

import fetch from 'fetch.js'
//get
fetch({
 url:'/home/data',//完整的请求路径为fetch.js配置的baseURL+/home/data?pageIndex=1
 method:'GET',
 params:{pageIndex:1}
})
//post
fetch({
 baseURL:'/api/v1',//完整的请求路径为/api/v1/home/save
 url:'/home/save',
 method:'POST',
 data:{id:1}
})

以上就是本次分享的关于vue项目中axios使用的全部内容,感谢你对三水点靠木的支持。

Javascript 相关文章推荐
jquery弹出关闭遮罩层实例
Aug 06 Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 Javascript
js由下向上不断上升冒气泡效果实例
May 07 Javascript
JS实现汉字与Unicode码相互转换的方法详解
Apr 28 Javascript
深入理解Node中的buffer模块
Jun 03 Javascript
基于jquery实现五星好评
Nov 18 jQuery
ionic2中使用自动生成器的方法
Mar 04 Javascript
vue.js 添加 fastclick的支持方法
Aug 28 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
JavaScript实现小球沿正弦曲线运动
Sep 07 Javascript
vue + axios get下载文件功能
Sep 25 Javascript
详解ES6实现类的私有变量的几种写法
Feb 10 Javascript
vue-cli webpack2项目打包优化分享
Feb 07 #Javascript
浅谈es6中export和export default的作用及区别
Feb 07 #Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 #Javascript
vue中如何使用ztree
Feb 06 #Javascript
javascript回调函数详解
Feb 06 #Javascript
原生JS实现瀑布流插件
Feb 06 #Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
Feb 06 #Javascript
You might like
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
php格式文件打开的四种方法
2018/02/24 PHP
php时间戳转换代码详解
2019/08/04 PHP
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
使用js复制链接中的部分文字的方法
2015/07/30 Javascript
javascript 判断两个日期之差的示例代码
2015/09/05 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
python编程开发之类型转换convert实例分析
2015/11/13 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
Scrapy框架使用的基本知识
2018/10/21 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
Django 权限管理(permissions)与用户组(group)详解
2020/11/30 Python
50道外企软件测试面试题
2014/08/18 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
幼儿园开学家长寄语
2014/01/19 职场文书
个人优缺点自我评价
2014/01/27 职场文书
治庸问责心得体会
2014/09/12 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
学校党支部承诺书
2015/04/30 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle