axios get请求带参
时间: 2023-10-13 14:26:55 浏览: 41
在 axios 中,向后端发送 GET 请求并带上参数,可以使用 `params` 参数。例如:
```javascript
axios.get('/api/data', {
params: {
name: 'John',
age: 20
}
})
.then(response => {
console.log(response.data)
})
.catch(error => {
console.log(error)
})
```
上面的代码会向 `/api/data` 发送一个 GET 请求,并且带上两个参数 `name` 和 `age`。在后端接收请求时,可以通过查询字符串(query string)的方式获取这些参数。
例如,如果使用 Express 框架的话,可以这样获取参数:
```javascript
app.get('/api/data', (req, res) => {
const name = req.query.name
const age = req.query.age
// 处理请求并返回结果
})
```
如果需要将参数编码成 URL 查询字符串格式,可以使用 `qs` 库,例如:
```javascript
import qs from 'qs'
axios.get('/api/data', {
params: {
name: 'John',
age: 20
},
paramsSerializer: params => {
return qs.stringify(params, { arrayFormat: 'brackets' })
}
})
.then(response => {
console.log(response.data)
})
.catch(error => {
console.log(error)
})
```
上面的代码中,使用了 `qs` 库将参数编码成 URL 查询字符串格式,并且将 `paramsSerializer` 参数设置为一个函数,用来序列化参数。在这个函数中,使用 `qs.stringify()` 方法将参数序列化成查询字符串格式。`arrayFormat: 'brackets'` 参数是用来指定数组的序列化方式的,这里使用的是方括号方式。