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 相关文章推荐
checkbox 多选框 联动实现代码
Oct 22 Javascript
Javascript面向对象设计一 工厂模式
Dec 20 Javascript
非常有用的40款jQuery 插件推荐(系列二)
Dec 25 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
Jan 03 Javascript
jQuery遍历之next()、nextAll()方法使用实例
Nov 08 Javascript
Jquery树插件zTree用法入门教程
Feb 17 Javascript
JavaScript实现Flash炫光波动特效
May 14 Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
May 03 Javascript
JS实现指定区域的全屏显示功能示例
Apr 25 Javascript
Node.js中Koa2在控制台输出请求日志的方法示例
May 02 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
May 07 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
php学习之function的用法
2012/07/14 PHP
php session劫持和防范的方法
2013/11/12 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
取得元素的左和上偏移量的方法
2014/09/17 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
玩转NODE.JS(四)-搭建简单的聊天室的代码
2016/11/11 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
Vue页面跳转动画效果的实现方法
2018/09/23 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
使用wxpython实现的一个简单图片浏览器实例
2014/07/10 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
python生成特定分布数的实例
2019/12/05 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
100%有机精油,美容油:House of Pure Essence
2018/10/30 全球购物
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
护士自荐信范文
2013/12/15 职场文书
小学庆六一主持词
2015/06/30 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL