vue2.0之axios
2017-12-29 本文已影响72人
魂斗罗小黑
安装
使用 bower:
$ bower install axios
使用 npm:
$ npm install axios
发送一个GET请求
![](https://img.haomeiwen.com/i4872123/fd6c9a7bf9598ed3.png)
发送一个POST请求
![](https://img.haomeiwen.com/i4872123/7941e3da2db14068.png)
发送多个并发请求
![](https://img.haomeiwen.com/i4872123/873e68bb64a618ba.png)
可以通过给axios传递对应的参数来定制请求:
![](https://img.haomeiwen.com/i4872123/266180b380ea147a.png)
![](https://img.haomeiwen.com/i4872123/8bcd1c9047c2071a.png)
为方便起见,我们为所有支持的请求方法都提供了别名
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
当使用别名方法时,url、method和data属性不需要在 config 参数里面指定。
处理并发请求的帮助方法
你可以用自定义配置创建一个新的 axios 实例。
![](https://img.haomeiwen.com/i4872123/8e2ec66f99ec79ae.png)
所有可用的实例方法都列在下面了,指定的配置将会和该实例的配置合并。
axios#post(url[, data[, config]])
axios#put(url[, data[, config]])
axios#patch(url[, data[, config]])
下面是可用的请求配置项,只有url是必需的。如果没有指定method,默认的请求方法是GET。
![](https://img.haomeiwen.com/i4872123/5772e090dd1b3942.png)
![](https://img.haomeiwen.com/i4872123/0c677b15da8d2a76.png)
![](https://img.haomeiwen.com/i4872123/5cbb9258e4c8af3f.png)
响应的数据包括下面的信息:
![](https://img.haomeiwen.com/i4872123/c20e6ec1969dfda2.png)
当使用then或者catch时, 你会收到下面的响应:
![](https://img.haomeiwen.com/i4872123/665f9d5ef2b9d827.png)
你可以为每一个请求指定默认配置。
![](https://img.haomeiwen.com/i4872123/2637ffc456ce32d5.png)
![](https://img.haomeiwen.com/i4872123/7626235dd8008876.png)
![](https://img.haomeiwen.com/i4872123/3b4dcd72678ab50c.png)
你可以在处理then或catch之前拦截请求和响应
![](https://img.haomeiwen.com/i4872123/b6c5c56da7dca271.png)
移除一个拦截器:
![](https://img.haomeiwen.com/i4872123/818465d4288c930c.png)
你可以给一个自定义的 axios 实例添加拦截器:
![](https://img.haomeiwen.com/i4872123/05f856727169ecd4.png)
![](https://img.haomeiwen.com/i4872123/17bbebd09f9a6568.png)
axios 依赖一个原生的 ES6 Promise 实现,如果你的浏览器环境不支持 ES6 Promises,你需要引入polyfill
axios 包含一个TypeScript定义
![](https://img.haomeiwen.com/i4872123/4ecd85486c4def46.png)