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 相关文章推荐
javascript中的undefined 与 null 的区别  补充篇
Mar 17 Javascript
jQuery对象与DOM对象之间的转换方法
Apr 15 Javascript
网站基于flash实现的Banner图切换效果代码
Oct 14 Javascript
jquery不常用方法汇总
Jul 26 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 Javascript
js数组去重的5种算法实现
Nov 04 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
Oct 15 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
Feb 09 Javascript
js实现简单的手风琴效果
Feb 27 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
Oct 30 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
Nov 06 Javascript
vue 取出v-for循环中的index值实例
Nov 09 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调用数据库的存贮过程
2006/10/09 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
用php+ajax新建流程(请假、进货、出货等)
2017/06/11 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
探讨JavaScript语句的执行过程
2016/01/28 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
angularjs实现猜数字大小功能
2020/05/20 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
Python中的yield浅析
2014/06/16 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
PyTorch笔记之scatter()函数的使用
2020/02/12 Python
Python如何实现FTP功能
2020/05/28 Python
如何通过python计算圆周率PI
2020/11/11 Python
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
警察先进个人事迹材料
2014/05/16 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
毕业设计论文评语
2014/12/31 职场文书
三孔导游词
2015/02/05 职场文书
校本研修个人总结
2015/02/28 职场文书
暂住证证明
2015/06/19 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
原生JS中应该禁止出现的写法
2021/05/05 Javascript
用python批量解压带密码的压缩包
2021/05/31 Python
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android