axios 中 data 和 params 的区别详解
时间: 2023-06-14 11:03:00 浏览: 58
在使用 axios 进行网络请求的时候,可以通过传递 data 或 params 对象来传递请求参数。这两个对象的区别如下:
1. data 对象
data 对象是用来传递请求体中的数据的,通常用于 POST、PUT、PATCH 这类需要提交数据的请求。data 对象会被序列化为 JSON 字符串并放在请求体中,Content-Type 头部会被设置为 application/json。
示例:
```javascript
axios.post('/api/data', {
name: 'john',
age: 20
}).then(response => {
console.log(response.data)
})
```
2. params 对象
params 对象是用来传递 URL 查询参数的,通常用于 GET 请求。params 对象会被序列化为 URL 查询参数字符串并追加到 URL 后面,例如:/api/data?name=john&age=20。
示例:
```javascript
axios.get('/api/data', {
params: {
name: 'john',
age: 20
}
}).then(response => {
console.log(response.data)
})
```
总结:
- data 对象用于传递请求体中的数据,Content-Type 头部会被设置为 application/json。
- params 对象用于传递 URL 查询参数,参数会被序列化为 URL 查询参数字符串并追加到 URL 后面。
- 通常情况下,GET 请求使用 params 传递参数,而 POST、PUT、PATCH 等请求使用 data 传递参数。