在 Axios 中,发起 HTTP 请求时你可以使用多种参数来配置请求的行为。以下是一些主要的参数:
1. url
- 描述:请求的 URL。
- 示例:
axios.get('/api/users')
2. method
- 描述:HTTP 请求的方法,可以是
GET
,POST
,PUT
,DELETE
等。 - 示例:
axios({ method: 'post', url: '/api/users' })
- 默认值:method没填那么
默认是get
3. data
- 描述:请求体中的数据,通常在
POST
、PUT
、PATCH
请求中使用。 - 示例:
axios.post('/api/users', { name: 'John Doe', email: 'john.doe@example.com' });
4. params
- 描述:URL 查询参数,通常在
GET
请求中使用。 - 示例:
axios.get('/api/users', { params: { page: 1, limit: 10 } });
5. headers
- 描述:自定义请求头,用于传递特定的信息。
- 示例:
axios.get('/api/users', { headers: { Authorization: 'Bearer your_token' } });
6. timeout
- 描述:请求超时时间,单位是毫秒。
- 示例:
axios.get('/api/users', { timeout: 5000 // 超过 5 秒请求失败 });
7. responseType
- 描述:指定服务器响应的数据类型,例如
arraybuffer
,blob
,document
,json
,text
,stream
等。 - 示例:
axios.get('/api/data', { responseType: 'json' });
8. validateStatus
- 描述:自定义用于判断响应状态码是否被视为成功的函数,默认为
status >= 200 && status < 300
。 - 示例:
axios.get('/api/data', { validateStatus: function (status) { return status < 500; // 只要状态码小于 500 就视为成功 } });
9. auth
- 描述:用于 HTTP 基本身份验证,包含
username
和password
。 - 示例:
axios.get('/api/protected', { auth: { username: 'your_username', password: 'your_password' } });
10. withCredentials
- 描述:指定是否跨域请求时发送 cookie 用于身份验证。默认值为
false
。 - 示例:
axios.get('/api/data', { withCredentials: true });
11. onUploadProgress
和 onDownloadProgress
- 描述:用于处理上传和下载进度的回调函数。
- 示例:
axios.post('/api/upload', formData, { onUploadProgress: progressEvent => { const percentage = Math.round((progressEvent.loaded * 100) / progressEvent.total); console.log(percentage); } });
这些参数可以组合使用,以满足你的请求需求。具体使用时可以根据需要进行选择和配置。