axios基本入门用法教程


Posted in Javascript onMarch 25, 2017

这篇文章主要给大家介绍了axios基本入门用法教程,下面话不多说,来看看详细的介绍吧。

首先就是引入axios,如果你使用es6,只需要安装axios模块之后

import axios from 'axios';
//安装方法
npm install axios
//或
bower install axios

当然也可以用script引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

axios提供了一下几种请求方式

axios.request(config)

axios.get(url[, config])

axios.delete(url[, config])

axios.head(url[, config])

axios.post(url[, data[, config]])

axios.put(url[, data[, config]])

axios.patch(url[, data[, config]])

这里的config是对一些基本信息的配置,比如请求头,baseURL,当然这里提供了一些比较方便配置项

//config
import Qs from 'qs'
{
 //请求的接口,在请求的时候,如axios.get(url,config);这里的url会覆盖掉config中的url
 url: '/user',

 // 请求方法同上
 method: 'get', // default
 // 基础url前缀
 baseURL: 'https://some-domain.com/api/',




 transformRequest: [function (data) {
 // 这里可以在发送请求之前对请求数据做处理,比如form-data格式化等,这里可以使用开头引入的Qs(这个模块在安装axios的时候就已经安装了,不需要另外安装)

data = Qs.stringify({});
 return data;
 }],

 transformResponse: [function (data) {
 // 这里提前处理返回的数据

 return data;
 }],

 // 请求头信息
 headers: {'X-Requested-With': 'XMLHttpRequest'},

 //parameter参数
 params: {
 ID: 12345
 },

 //post参数,使用axios.post(url,{},config);如果没有额外的也必须要用一个空对象,否则会报错
 data: {
 firstName: 'Fred'
 },

 //设置超时时间
 timeout: 1000,
 //返回数据类型
 responseType: 'json', // default

 
}

有了配置文件,我们就可以减少很多额外的处理代码也更优美,直接使用

axios.post(url,{},config)
 .then(function(res){
  console.log(res);
 })
 .catch(function(err){
  console.log(err);
 })
//axios请求返回的也是一个promise,跟踪错误只需要在最后加一个catch就可以了。
//下面是关于同时发起多个请求时的处理

axios.all([get1(), get2()])
 .then(axios.spread(function (res1, res2) {
 // 只有两个请求都完成才会成功,否则会被catch捕获
 }));

最后还是说一下配置项,上面讲的是额外配置,如果你不想另外写也可以直接配置全局

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

//当然还可以这么配置
var instance = axios.create({
 baseURL: 'https://api.example.com'
});

本文只是介绍基本的用法,详细看官方文档:https://github.com/axios

两个例子分享给大家:

使用vue2.0+mintUI+axios+vue-router:https://github.com/Stevenzwzhai/vue-mobile-application

使用vue2.0+elementUI+axios+vue-router:https://github.com/Stevenzwzhai/vue2.0-elementUI-axios-vueRouter

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
一段非常简单的让图片自动切换js代码
Nov 10 Javascript
javascript GUID生成器实现代码
Oct 31 Javascript
jquery里的each使用方法详解
Dec 22 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
详解JavaScript中的客户端消息框架设计原理
Jun 24 Javascript
JavaScript 过滤关键字
Mar 20 Javascript
Ionic + Angular.js实现图片轮播的方法示例
May 21 Javascript
使用Electron构建React+Webpack桌面应用的方法
Dec 15 Javascript
关于vue-router的那些事儿
May 23 Javascript
Vue实现点击显示不同图片的效果
Aug 10 Javascript
Vue父组件向子组件传值以及data和props的区别详解
Mar 02 Javascript
react实现复选框全选和反选组件效果
Aug 25 Javascript
Bootstrap DateTime Picker日历控件简单应用
Mar 25 #Javascript
ECMAScript6 新特性范例大全
Mar 24 #Javascript
Three.js获取鼠标点击的三维坐标示例代码
Mar 24 #Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 #jQuery
Node.js和Express简单入门介绍
Mar 24 #Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 #Javascript
详解angular2实现ng2-router 路由和嵌套路由
Mar 24 #Javascript
You might like
zend api扩展的php对象的autoload工具
2011/04/18 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
javascript实现依次输入input自动定焦
2014/12/23 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python利用字典将两个通讯录文本合并为一个文本实例
2018/01/16 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
python制作抖音代码舞
2019/04/07 Python
python读写配置文件操作示例
2019/07/03 Python
Python pandas实现excel工作表合并功能详解
2019/08/29 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
利用python读取YUV文件 转RGB 8bit/10bit通用
2019/12/09 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
英国复古服装购物网站:Collectif
2019/10/30 全球购物
美国最大和最受信任的二手轮胎商店:Bestusedtires.com
2020/06/02 全球购物
快递业务员岗位职责
2014/01/06 职场文书
个人自我鉴定总结
2014/03/25 职场文书
求职简历自荐信
2014/06/18 职场文书
中华在我心中演讲稿
2014/09/13 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
P站美图推荐——变身女主角特辑
2022/03/20 日漫
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android