1 是什么?
- Axios 是一个基于 promise 网络请求库,作用于
node.js和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.jshttp模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。
2 特性
-
从浏览器创建 XMLHttpRequests
-
从 node.js 创建 http 请求
-
支持 Promise API
-
拦截请求和响应
-
转换请求和响应数据
-
取消请求
-
超时处理
-
查询参数序列化支持嵌套项处理
-
自动将请求体序列化为:
- JSON (
application/json) - Multipart / FormData (
multipart/form-data) - URL encoded form (
application/x-www-form-urlencoded)
- JSON (
-
将 HTML Form 转换成 JSON 进行请求
-
自动转换JSON数据
-
获取浏览器和 node.js 的请求进度,并提供额外的信息(速度、剩余时间)
-
为 node.js 设置带宽限制
-
兼容符合规范的 FormData 和 Blob(包括 node.js)
-
客户端支持防御XSRF
3 get post
- 3.1 get 带参数可以
axios.get('/user', {
params: { ID: 12345 } })
.then(function (response) { console.log(response); })
.catch(function (error) { console.log(error); })
.finally(function () { // 总是会执行 });
- 3.2 post
axios.post('/user', {
firstName: 'Fred', lastName: 'Flintstone'
}) .then(function (response) { console.log(response); })
.catch(function (error) { console.log(error); });