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 相关文章推荐
Jquery上传插件 uploadify v3.1使用说明
Jun 18 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
Jun 27 Javascript
jQuery实用技巧必备(下)
Nov 03 Javascript
jQuery绑定事件-多种实现方式总结
May 09 Javascript
javascript实现起伏的水波背景效果
May 16 Javascript
微信小程序使用第三方库Immutable.js实例详解
Sep 27 Javascript
详解vue2父组件传递props异步数据到子组件的问题
Jun 29 Javascript
基于vue2.0实现简单轮播图
Nov 27 Javascript
浅谈vue-router 路由传参的方法
Dec 27 Javascript
JavaScript防止全局变量污染的方法总结
Aug 02 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 Javascript
JS手写一个自定义Promise操作示例
Mar 16 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
多人战的战术与战略
2020/03/04 星际争霸
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
jquery动态增加删减表格行特效
2015/11/20 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
EJB3.1都有哪些改进
2012/11/17 面试题
审计主管岗位职责
2014/01/31 职场文书
上班打牌检讨书
2014/02/07 职场文书
创先争优活动方案
2014/02/12 职场文书
教师教学评估方案
2014/05/09 职场文书
银行求职信范文
2014/05/26 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
话题作文之成长
2019/12/09 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
JavaScript执行机制详细介绍
2021/12/06 Javascript