axios 认识
axios 是一个基于 Promise 用于浏览器和 nodejs 的 HTTP 客户端,本质上也是对原生 XHR 的封装。
axios 特征
axios 是 Promise 的实现版本,符合最新的 ES 规范,它本身具有以下特征:
- 1. 从浏览器中创建 XMLHttpRequest
- 2. 支持 Promise API
- 3. 客户端支持防止 CSRF
- 4. 提供了一些并发请求的接口(重要,方便了很多的操作)
- 5. 从 node.js 创建 http 请求
- 6. 拦截请求和响应
- 7. 转换请求和响应数据
- 8. 取消请求
- 9. 自动转换 JSON 数据
注意: 防止 CSRF: 就是让你的每个请求都带一个从 cookie 中拿到的 key, 根据浏览器同源策略,假冒的网站是拿不到你 cookie 中得 key 的.
这样,后台就可以轻松辨别出这个请求是否是用户在假冒网站上的误导输入,从而采取正确的策略。
安装使用流程
- 下载 axios npm install axios 安装选项
- 引用 require() // 直接引入 js 文件 或者网址
请求类型未指定
axios({
url: 请求地址,method: 请求类型,data: data
})
.then(()=>{})
.catch(()=>{})
- get 请求
axios.get(请求地址,参数).then(()=>{}).catch(()=>{})
- post 请求
axios.post(请求地址,参数).then(()=>{}).catch(()=>{})
- all() 方法 赛跑
// axios.all()
function axiosOne(){return axios.get('http://www.url.one/')
};
function axiosTwo(){return axios.get('http://www.url.two')
};
// axios.spread() --- 将回调函数的执行结果转为同步 默认异步赛跑
axios.all([axiosOne(),axiosTwo()])
.then(axios.spread(function(acct, perms){console.log(acct);// 请求一的结果;console.log(perms);// 请求二的结果
}))