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实现表格中相同单元格合并示例代码
Jun 26 Javascript
javascript 手动给表增加数据的小例子
Jul 10 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
Mar 26 Javascript
基于ajax实现文件上传并显示进度条
Aug 03 Javascript
基于JavaScript实现类似于百度学术高级检索功能
Mar 02 Javascript
js在ie下打开对话窗口的方法小结
Oct 24 Javascript
jQuery实现字符串全部替换的方法
Dec 12 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
Mar 06 Javascript
React 路由懒加载的几种实现方案
Oct 23 Javascript
vue下载excel的实现代码后台用post方法
May 10 Javascript
带你彻底理解JavaScript中的原型对象
Apr 14 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小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
PHP实现微信图片上传到服务器的方法示例
2017/06/29 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
js实现圆盘记速表
2015/08/03 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
vue实现井字棋游戏
2020/09/29 Javascript
[01:41]DOTA2 2015国际邀请赛中国区预选赛第三日战报
2015/05/28 DOTA
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python中用altzone()方法处理时区的教程
2015/05/22 Python
在Django的模板中使用认证数据的方法
2015/07/23 Python
PyCharm使用教程之搭建Python开发环境
2016/06/07 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
Python装饰器语法糖
2019/01/02 Python
python3字符串操作总结
2019/07/24 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
Python3爬虫中关于中文分词的详解
2020/07/29 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
C语言笔试题
2014/09/04 面试题
金士达面试非笔试
2012/03/14 面试题
居委会工作总结2015
2015/05/18 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python
Python 如何安装Selenium
2021/05/06 Python
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers