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 相关文章推荐
jQuery1.4.2与老版本json格式兼容的解决方法
Feb 12 Javascript
深入理解Node.js的HTTP模块
Oct 12 Javascript
微信小程序之picker日期和时间选择器
Feb 09 Javascript
js date 格式化
Feb 15 Javascript
关于vue.js过渡css类名的理解(推荐)
Apr 10 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
Aug 21 Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 Javascript
详解webpack之scss和postcss-loader的配置
Jan 09 Javascript
浅谈在Vue.js中如何实现时间转换指令
Jan 06 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
Aug 12 Javascript
小程序调用微信支付的方法
Sep 26 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
珊瑚虫IP库浅析
2007/02/15 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
js命名空间写法示例
2015/12/18 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
react写一个select组件的实现代码
2019/04/03 Javascript
layer.js open 隐藏滚动条的例子
2019/09/05 Javascript
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
详解python如何调用C/C++底层库与互相传值
2016/08/10 Python
python 第三方库的安装及pip的使用详解
2017/05/11 Python
python如何读写csv数据
2018/03/21 Python
python实现超级马里奥
2020/03/18 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
Python调用飞书发送消息的示例
2020/11/10 Python
节约用水的口号
2014/06/20 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
优秀班集体申报材料
2014/12/25 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
公司岗位说明书
2015/10/08 职场文书
大学军训心得体会800字
2016/01/11 职场文书
spring cloud eureka 服务启动失败的原因分析及解决方法
2022/03/17 Java/Android