Axios 是一个基于 promise 的 HTTP 库,广泛用于浏览器和 node.js 中。以下是一些 Axios 常用的配置选项:
- url: 字符串,请求的服务器URL,是必填项。
- method: 请求方法,如 ‘get’, ‘post’, ‘put’, ‘delete’ 等,默认为 ‘get’。
- baseURL: 字符串,基础URL,会自动添加到每个请求的URL前面,除非URL是绝对的。
- transformRequest: 函数数组,允许在请求发送到服务器之前对请求数据进行预处理。
- transformResponse: 函数数组,允许在响应数据传递给 then/catch 之前进行处理。
- headers: 对象,自定义请求头信息,比如设置
Content-Type
为application/json
。 - params: 对象,用于 ‘get’ 请求的查询参数,这些参数会被附加在URL后面。
- data: 对象/字符串,用于 ‘post’, ‘put’, ‘patch’ 等请求的请求体数据。
- timeout: 数值,设置请求超时时间,单位为毫秒。
- withCredentials: 布尔值,默认为
false
,表示跨域请求时是否携带cookie凭证。 - responseType: 字符串,设置响应的数据类型,如 ‘arraybuffer’, ‘blob’, ‘document’, ‘json’, ‘text’, ‘stream’,默认为 ‘json’。
- maxContentLength: 设置响应内容的最大值,单位为字节,超出此限制会抛出错误。
- validateStatus: 函数,允许自定义确定HTTP请求的成功状态码范围,默认为
status >= 200 && status < 300
。 - xsrfCookieName: 字符串,用作 xsrf token 的值的cookie名称,默认为 ‘XSRF-TOKEN’。
- xsrfHeaderName: 字符串,携带xsrf token值的http头名称,默认为 ‘X-XSRF-TOKEN’。
这些配置选项可以作为参数直接传递给 Axios 的请求方法,也可以在创建 Axios 实例时作为配置对象的一部分,以便在所有通过该实例发起的请求中共享这些配置。例如:
axios.get('/api/data', {params: {id: 123},headers: {'Authorization': 'Bearer your_token'}
});// 或者创建一个实例并设置默认配置
const instance = axios.create({baseURL: 'https://api.example.com',timeout: 1000,headers: {'X-Custom-Header': 'foobar'}
});instance.get('/data');
了解并熟练使用这些配置选项可以帮助你更好地控制请求的各个方面,以满足不同的应用场景需求。