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插件使用介绍
Mar 20 Javascript
JS图片无缝、平滑滚动代码
Mar 11 Javascript
Javascript实现Web颜色值转换
Feb 05 Javascript
使用coffeescript编写node.js项目的方法汇总
Aug 05 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
Jan 13 Javascript
React Native中的RefreshContorl下拉刷新使用
Oct 09 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
jQuery实现表单动态添加与删除数据操作示例
Jul 03 jQuery
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
判断JavaScript中的两个变量是否相等的操作符
Dec 21 Javascript
jQuery实现聊天对话框
Feb 08 jQuery
React自定义hook的方法
Jun 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
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
php实现文章评论系统
2019/02/18 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
javascript 判断字符串是否包含某字符串及indexOf使用示例
2013/10/18 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
在Python中用keys()方法返回字典键的教程
2015/05/21 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
详解Python如何生成词云的方法
2018/06/01 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
精伦电子Java笔试题
2013/01/16 面试题
90后毕业生的求职信范文
2013/09/21 职场文书
高三语文教学反思
2014/01/15 职场文书
大学自我评价
2014/02/12 职场文书
暑期研修感言
2014/02/17 职场文书
农民工工资保障承诺书
2015/05/04 职场文书