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 相关文章推荐
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
Node.js抓取中文网页乱码问题和解决方法
Feb 10 Javascript
jQuery Validation Plugin验证插件手动验证
Jan 26 Javascript
jQuery遍历DOM元素与节点方法详解
Apr 14 Javascript
Bootstrap表格和栅格分页实例详解
May 20 Javascript
jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
Jun 24 Javascript
AngularJS基础 ng-dblclick 指令用法
Aug 01 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
Apr 17 Javascript
详解webpack+angular2开发环境搭建
Jun 28 Javascript
layui下拉列表select实现可输入查找的方法
Sep 28 Javascript
JavaScript对象原型链原理解析
Jan 22 Javascript
vue组件创建的三种方式小结
Feb 03 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
PHP 模板高级篇总结
2006/12/21 PHP
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
js setTimeout 常见问题小结
2013/08/13 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
微信小程序 出现错误:{"baseresponse":{"errcode":-80002,"errmsg":""}}解决办法
2017/02/23 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
python如何调用百度识图api
2020/09/29 Python
如何利用Python 进行边缘检测
2020/10/14 Python
Pytorch 图像变换函数集合小结
2021/02/01 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
一套VC试题
2015/01/23 面试题
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
环保倡议书100字
2014/05/15 职场文书
模特大赛策划方案
2014/05/28 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
外出学习心得体会范文
2016/01/18 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL