axios
简介
axios
核心是一个基于promise
的HTTP
库,可以用在浏览器和node.js
中。
axios
的特性
- 从浏览器中创建 XMLHttpRequests
- 从 node.js 创建 http 请求
- 支持 Promise API
- 拦截请求和响应
- 转换请求数据和响应数据
- 取消请求
- 自动转换 JSON 数据
- 客户端支持防御 XSRF
axios
的使用
axios
引入
yarn add axios;
npm install axios;
<script src="https://unpkg.com/axios/dist/axios.min.js" defer />
axios
示例
yarn add axios;
npm install axios;
<script src="https://unpkg.com/axios/dist/axios.min.js" />
// 使用
axios.get('/config?id=123')
.then(res => {
console.log(res);
})
axios.post('/config', {
id: 123})
.then(res => {
console.log(res);
})
axios({
method: 'post',
url: '/config',
data: {
id: 123
}
})
axios
的options
内容
{
// `url` 是用于请求的服务器 URL
url: '/config',
// `method` 是创建请求时使用的方法
method: 'get', // default
// `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
// 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
baseURL: 'https://some-domain.com/api/',
// `transformRequest` 允许在向服务器发送前,修改请求数据
// 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
// 后面数组中的函数必须返回一个字符串,或 ArrayBuffer,或 Stream
transformRequest: [function (data, headers) {
// 对 data 进行任意转换处理
return data;
}],
// `transformResponse` 在传递给 then/catch 前,允许修改响应数据
transformResponse: [function (data) {
// 对 data 进行任意转换处理
return data;