Axios 是一个基于 Promise 的 HTTP 库,它可以用于浏览器和 Node.js。在使用 Axios 时,我们可以通过配置对象来进行一些自定义的配置,下面是 Axios 中常用的配置项说明:
-
baseURL:设置请求的基础 URL,通常是域名或 IP 地址。
-
headers:设置请求头,可以是对象、字符串或者函数。
-
params:设置 URL 查询参数,可以是对象或 URLSearchParams 对象。
-
data:设置请求体数据,可以是字符串、对象或 FormData 对象。
-
timeout:设置请求超时时间,单位为毫秒。
-
responseType:设置响应数据的类型,可以是字符串或 ArrayBuffer。
-
withCredentials:设置是否允许跨域请求时发送 Cookie,默认为 false。
-
validateStatus:设置响应状态码的验证函数,返回 true 表示成功,否则为失败。
-
transformRequest:设置请求数据的处理函数,用于将请求数据序列化为合法的请求格式。
-
transformResponse:设置响应数据的处理函数,用于将响应数据进行处理并返回。
-
cancelToken:设置用于取消请求的 CancelToken 对象。
这些配置项可以通过传递一个配置对象来进行设置,例如:
axios({
baseURL: 'https://api.example.com/',
headers: { 'X-Requested-With': 'XMLHttpRequest' },
params: { q: 'search' },
data: { username: 'foo', password: 'bar' },
timeout: 1000,
responseType: 'json',
withCredentials: true,
validateStatus: function (status) {
return status >= 200 && status < 300;
},
transformRequest: [function (data, headers) {
return JSON.stringify(data);
}],
transformResponse: [function (data) {
return JSON.parse(data);
}],
cancelToken: new axios.CancelToken(function (cancel) {
// do something
})
})