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 相关文章推荐
javascript 对表格的行和列都能加亮显示
Dec 26 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
Apr 16 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
May 06 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 Javascript
jquery衣服颜色选取插件效果代码分享
Aug 28 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
May 17 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
JS未跨域操作iframe里的DOM
Jun 01 Javascript
vue实现表格数据的增删改查
Jul 10 Javascript
ES6 javascript中Class类继承用法实例详解
Oct 30 Javascript
AngularJS遍历获取数组元素的方法示例
Nov 11 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
Apr 18 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
11个PHP 分页脚本推荐
2011/08/15 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
2010/12/08 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
IE、FF浏览器下修改标签透明度
2014/01/28 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
2015/06/30 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
仿淘宝JSsearch搜索下拉深度用法
2018/01/15 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现哈希表
2014/02/07 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
python 自定义装饰器实例详解
2019/07/20 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
Python基于Serializer实现字段验证及序列化
2020/11/04 Python
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
Linux内核的同步机制是什么?主要有哪几种内核锁
2013/01/03 面试题
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
财务学生的职业生涯发展
2014/02/11 职场文书
党委班子剖析材料
2014/08/21 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
车间质检员岗位职责
2015/04/08 职场文书
客户付款通知书
2015/04/23 职场文书
企业法律事务工作总结
2015/08/11 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
delete in子查询不走索引问题分析
2022/07/07 MySQL