axios: 是一个类库,基于Promise管理的Ajax库,支持浏览器和nodejs的http库,常用于Ajax请求。

特点
从浏览器中创建 XMLHttpRequests
从 node.js 创建 http 请求
支持 Promise API
拦截请求和响应
转换请求数据和响应数据
取消请求
自动转换 JSON 数据
客户端支持防御 XSRF

安装方法

使用 npm:

$ npm install axios

使用 bower:

$ bower install axios

使用 cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

axios提供了多种请求方式,比如直接发起get或post请求:

执行get请求

// 为给定 ID 的 user 创建请求
axios.get('/user?ID=12345').then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});// 可选地,上面的请求可以这样做
axios.get('/user', {params: {ID: 12345}}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});

在get请求中的键值对拼接成URLENCODED式的字符串然后1以问号传递参数的方式,传递给服务器。

执行post请求

axios.post('/user', {firstName: 'Fred',lastName: 'Flintstone'}).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});

基于Promise,可以执行多个并发请求:

function getUserAccount() {return axios.get('/user/12345');
}function getUserPermissions() {return axios.get('/user/12345/permissions');
}axios.all([getUserAccount(), getUserPermissions()]).then(axios.spread(function (acct, perms) {// 请求现在都执行完成时}));

也可以通过写入配置的形式发起请求:
axios(config)

// 发送 POST 请求
axios({method: 'post',url: '/user/12345',data: {firstName: 'Fred',lastName: 'Flintstone'}
}).then(function(res) {console.log(res)});

在业务中,经常将其封装成为实例的形式调用,便于做通用配置,
例如:

//util.js
const instance = axios.create({baseURL: 'http://some-domain.com/api',timeout: 1000,header: {'Content-Type': 'application/x-www-form-urlencoded'}
}) export default instance

index.js

<tempalte><div></div>
</template>
<script>import Ajax from './util.js'export default {created(): {Ajax ( {method: 'post',url: '/user',data: {firstName: 'Fred',lastName: 'Flintstone'}}).then(res => {console.log(res)})}}
</script>

请求方法的别名

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]])

标注: 在使用别名方法时, url、method、data 这些属性都不必在配置中指定。

并发

处理并发请求的助手函数

axios.all(iterable)
axios.spread(callback)

创建实例
可以使用自定义配置新建一个 axios 实例

axios.create([config])

var instance = axios.create({baseURL: 'https://some-domain.com/api/',timeout: 1000,headers: {'X-Custom-Header': 'foobar'}
});

更多关于axios的配置请参考: https://www.kancloud.cn/yunye/axios/234845

axios的用法详解相关推荐

  1. python argv 详解_Python3 sys.argv[ ]用法详解

    sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个"外部"很关键,因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可 ...

  2. oracle中的exists 和 not exists 用法详解

    from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...

  3. ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)

    ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多) https://blog.csdn.net/qq_25221835/article/details/82762416 post ...

  4. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  5. C++中substr()函数用法详解

    C++中substr()函数用法详解 原型: string substr (size_t pos = 0, size_t len = npos) const; 返回一个新构造的string对象,其值初 ...

  6. php theme_path,PHP_Yii2主题(Theme)用法详解,本文实例讲述了Yii2主题(Theme) - phpStudy

    Yii2主题(Theme)用法详解 本文实例讲述了Yii2主题(Theme)用法.分享给大家供大家参考,具体如下: 首先看看主要的配置方式: 'components' => [ 'view' = ...

  7. LayoutInflater的inflate函数用法详解

    LayoutInflater的inflate函数用法详解 LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 获取LayoutInflater的方法有如下三种: ...

  8. Ext.Net学习笔记22:Ext.Net Tree 用法详解

    上面的图片是一个简单的树,使用Ext.Net来创建这样的树结构非常简单,代码如下: <ext:TreePanel runat="server"><Root> ...

  9. WinDbg用法详解

    WinDbg用法详解 对WinDbg的方方面面作了详细的讲解. 转载于:https://blog.51cto.com/laokaddk/125111

最新文章

  1. 解决:请购买WinRAR许可,您注册还剩下40天(WinRAR老是弹出烦人的对话框)
  2. Oracle区概念总结
  3. matlab 白色像素点,MATLAB 簡單的計算白色輪廓中像素點的個數
  4. 【英语天天读】Man's Youth
  5. 计算机网络安全防护教案,计算机网络安全基础教案.DOC
  6. 摇一摇根据城市位置推荐酒店
  7. 物联网全栈教程-从云端到设备(四)
  8. 最新YYCMS影视源码_比米酷好用_模板超好看
  9. xshell安装教程
  10. 互联网日报 | 微信聊天时可直接“搜一搜”了;蚂蚁集团9月18日科创板首发上会;谷歌正式发布安卓11系统...
  11. Swift 下标用法
  12. badwords.php,ucenter中词语过滤原理分析
  13. .NET反编译:使用NET.Reflector+Reflexil插件相结合实现对DLL文件的修改操作
  14. 一款拥有漂亮外表的Typecho简洁主题-Scarfskin
  15. Unity Playing模式下鼠标点击放置预制体
  16. python爬网易云音乐评论最多的歌_使用Python爬一爬网易云音乐上那些评论火爆的歌曲...
  17. golang基础教程
  18. 仿真器VCS solver 对包含 function 约束的求解
  19. PFP:面向材料发现的通用神经网络
  20. 用Java实现一个简单的考试系统

热门文章

  1. php yii2 api框架,Yii2框架制作RESTful风格的API快速入门教程
  2. 2017年上半年信息安全工程师考试真题含答案(下午题)
  3. android命令打包,android 命令打包
  4. 笔记本电脑风扇声音大_笔记本风扇噪音太大?教你怎么降低笔记本风扇噪音
  5. js中 var a= b || c;
  6. 小汤学编程之JavaEE学习day10——Spring
  7. 本地添加Maven管理
  8. arcgis10.1连接sqlserver数据库常见问题(转载)
  9. 关于 vmware虚拟机的一些问题及解决办法备忘
  10. Android 控制ScrollView滚动到底部