在使用 Axios 进行 HTTP 请求时,了解和掌握默认配置是非常重要的一步。这些配置决定了请求的默认行为,如请求的超时时间、响应的数据格式等。本章节将详细介绍 Axios 的默认配置项及其使用方法。
基础配置
Axios 提供了一些基础配置,允许开发者对请求进行全局或单个请求的设置调整。这些配置可以影响到每个请求的行为,包括但不限于请求头、超时时间等。
baseURL
baseURL
是一个字符串,用于指定所有请求的基准 URL。当你需要向同一服务器发送多个请求时,设置 baseURL
可以简化代码,避免重复书写相同的 URL 前缀。
axios.defaults.baseURL = 'https://api.example.com';
timeout
timeout
指定请求超时的时间长度(以毫秒为单位)。如果请求超过了这个设定的时间还未完成,它将被自动取消。
axios.defaults.timeout = 5000; // 设置超时时间为5秒
headers
headers
允许开发者自定义请求头信息。这在处理认证令牌、内容类型等特殊需求时非常有用。
axios.defaults.headers.common['Authorization'] = 'Bearer your_token_here'; axios.defaults.headers.post['Content-Type'] = 'application/json';
高级配置
除了基础配置外,Axios 还提供了更灵活的配置选项,以适应更复杂的场景需求。
responseType
responseType
控制服务器响应数据的解析方式。Axios 支持多种数据类型,包括 'arraybuffer'
, 'blob'
, 'document'
, 'json'
, 'text'
和 'stream'
。
axios.get('/file', { responseType: 'blob' }).then(response => { console.log(response.data); // Blob 对象 });
validateStatus
validateStatus
是一个函数,用于决定 HTTP 状态码是否被视为成功的。默认情况下,只有 2xx 状态码被认为是成功的。通过修改此函数,你可以改变这种行为。
-- -------------------- ---- ------- ---------------------------------------- ---------- - -- ---------------- --- ---- - ----- --- ---------- ---------- - ------ --------- -- -------- ------- - ------ ---------------------- --- ----------------------------- - -------- -------- - ------ ------ -- --- -- ------ - --- -- ------ --- ---- --
withCredentials
withCredentials
用于控制跨域请求时是否携带凭据(例如 cookies 或 HTTP 认证信息)。默认情况下,跨域请求不会携带凭据。
axios.get('/user/12345', { withCredentials: true })
以上就是 Axios 的默认配置项介绍。理解并合理利用这些配置可以帮助你更好地管理 HTTP 请求,提高开发效率。接下来我们将深入探讨如何使用 Axios 发送各种类型的 HTTP 请求。