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中的ajax分页实现代码
Sep 20 Javascript
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
javascript中的变量作用域以及变量提升详细介绍
Oct 24 Javascript
js验证IP及子网掩码的合法性有效性示例
Apr 30 Javascript
Javascript对象Clone实例分析
Jun 09 Javascript
详解jQuery Mobile自定义标签
Jan 06 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 Javascript
AngularJS自定义服务与fliter的混合使用
Nov 24 Javascript
js 两数组去除重复数值的实例
Dec 06 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
Sep 26 Javascript
Vue.js中Line第三方登录api的实现代码
Jun 29 Javascript
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
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
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
[03:45]Newbee战队出征西雅图 决战2016国际邀请赛
2016/08/02 DOTA
python3实现短网址和数字相互转换的方法
2015/04/28 Python
python简单实现基数排序算法
2015/05/16 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
wxPython色环电阻计算器
2019/11/18 Python
Python实现一个优先级队列的方法
2020/07/31 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
计算机应用专业推荐信
2013/11/13 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
2014年重阳节老干部座谈会上的讲话稿
2014/09/25 职场文书
群众路线专项整治方案
2014/10/27 职场文书
开除通知书范本
2015/04/25 职场文书
公司捐书倡议书
2015/04/27 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
python脚本框架webpy模板赋值实现
2021/11/20 Python