背景
写了一个post请求,却爆出找不到的错误
策略
将 params
修改为 data
感觉很奇怪,明明都是参数,理论上说叫什么名字都一样,却有不一样的效果,问了下gpt 是这样回答的:
params
和data
都可以用来传递请求参数,但是在使用时需要根据实际情况做出选择。
params
通常用于 GET 请求或者在 URL 中直接传递参数。例如:
axios({
method: 'get',
url: '/user',
params: {
id: '123'
}
})
生成的 URL 为:/user?id=123
data
通常用于 POST、PUT、PATCH 等请求中传递请求体参数。例如:
axios({
method: 'post',
url: '/user',
data: {
firstName: 'John',
lastName: 'Doe'
}
})
在你的场景中,你的 API 是 POST 请求,需要传递请求体参数,所以应该使用data
而不是params
。同时将
data
中的参数名称改为 API 期望的参数名即可。