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学习笔记之Helloworld
Dec 22 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
Oct 24 Javascript
javascript实现无限级select联动菜单
Jan 02 Javascript
js淡入淡出焦点图幻灯片效果代码分享
Sep 08 Javascript
jQuery Mobile框架中的表单组件基础使用教程
May 17 Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 Javascript
深入理解Angular.JS中的Scope继承
Jun 04 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
Feb 27 Javascript
150行Node.js实现的dns代理工具
Aug 02 Javascript
基于ts的动态接口数据配置的详解
Dec 18 Javascript
javascript事件循环event loop的简单模型解释与应用分析
Mar 14 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
linux下php上传文件注意事项
2016/06/11 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
javascript 控制弹出窗口
2007/04/10 Javascript
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
javascript中的面向对象
2017/03/30 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
使用js实现一个简单的滚动条过程解析
2019/09/10 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
js实现html滑动图片拼图验证
2020/06/24 Javascript
Node.js web 应用如何封装到Docker容器中
2020/09/01 Javascript
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
Python检测网站链接是否已存在
2016/04/07 Python
bat和python批量重命名文件的实现代码
2016/05/19 Python
flask中使用蓝图将路由分开写在不同文件实例解析
2018/01/19 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
2020/05/22 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
业务主管岗位职责范本
2013/12/25 职场文书
秘书行业自我鉴定范文
2013/12/30 职场文书
火车来了教学反思
2014/02/11 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
初中学生操行评语
2014/12/26 职场文书
我去timi了,一起去timi是什么意思?
2022/04/13 杂记