Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中,它主要用于向服务器发送 HTTP 请求并接收响应,在浏览器环境中,我们通常使用 CDN(内容分发网络)引入 Axios。

引入方式
通过 script 标签直接引入
你可以在HTML文件中添加一个script标签来引入axioscdn。
使用参数
Axios 的请求函数接受两个参数:一个是请求的 URL,另一个是请求的配置对象。
请求 URL
URL 是你希望发送请求的地址。
axios.get('https://api.github.com/users/octocat')
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
配置对象
配置对象可以设置各种参数,例如请求方法、请求头、请求体等。
axios.get('https://api.github.com/users/octocat', {
headers: {
Authorization: 'Bearer ' + token
}
})
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
在这个例子中,我们设置了请求头 Authorization。
单元表格
| 参数 | 描述 | 类型 | 默认值 |
| url | 请求的 URL | string | 无 |
| method | 请求的方法 | string | 'get' |
| baseURL | 请求的基础 URL | string | 无 |
| url | 请求的 URL | string | 相对URL或绝对URL |
| transformRequest | 允许在请求被发出之前修改请求数据 | function | 无 |
| transformResponse | 允许在收到响应数据后修改响应数据 | function | 无 |
| params | 将作为查询字符串参数添加到URL中的键/值对对象 | object | 无 |
| data | 作为请求主体发送的数据 | JSON对象 | 无 |
| timeout | 设置请求超时时间,单位是毫秒 | number | 无 |
| headers | 自定义请求头 | object | 无 |
| withCredentials | 表示跨站请求时是否使用凭证 | boolean | false |
| adapter | 允许自定义处理请求和响应的适配器 | function | 无 |
| responseType | 表示期望的响应类型 | string | 'json' |
| responseEncoding | 表示用于解码响应的编码 | string | 'utf8' |
| onUploadProgress | 上传进度的事件处理器 | function | 无 |
| onDownloadProgress | 下载进度的事件处理器 | function | 无 |
| cancelToken | 用于取消请求的cancel token | CancelToken | 无 |
| maxContentLength | 定义分块请求主体的最大大小(以字节为单位) | number | Infinity |
| validateStatus | 定义对于哪些HTTP状态码正常响应是有效的 | function | (status) => status >= 200 && status < 300 |
| xsrfCookieName | 将其用作xsrf令牌的值的cookie名称 | string | 'XSRFTOKEN' |
| xsrfHeaderName | 包含xsrf令牌的值的http头的名称 | string | 'XXSRFTOKEN' |
| onUploadProgress | 提供有关上传进度的事件的回调 | function | 无 |
| onDownloadProgress | 提供有关下载进度的事件的回调 | function | 无 |
| maxRedirects | 要自动跟随的最大重定向数 | number | 5 |
| socketPath | 用于UNIX套接字的路径 | string or Function | undefined |
| httpAgent | 用于node.js的自定义http代理实例 | Agent or subclass of Agent, false for none | undefined |
| httpsAgent | 用于node.js的自定义https代理实例 | Agent or subclass of Agent, false for none | undefined |
| proxy | 定义代理服务器的主机名、端口和协议 | {string} or {Boolean} object, false for none | undefined |
| cancelToken | 用于取消请求的cancel token | CancelToken | undefined |