VSCode——明明设置的是post请求,为什么参数是get请求形式组装的?
今天跟正常一样复制粘贴了一个方法,原来的是get请求,我修改为post请求,如下:
export function getTemplates(params) {
return request({
url: '/nvproposal/getTemplates',
method: 'post',
params
})
}
启动,测试,但是我发现传到后端的map是空的,我以为是缓存之类的,清缓存,重新打开,还是一样,F12看请求发现请求的参数在地址后拼接了,但是写的请求又是post请求,有点懵,一直以为是缓存,换了个项目的分支测试还是一样。我就突然想到,原来的这个请求它的参数是data,这里是params,这有啥关系吗,应该相当于后端的形参,这是一个名字而已吧。但是没想到我修改为data,居然正常了。修改后如下:
export function getTemplates(data) {
return request({
url: '/nvproposal/getTemplates',
method: 'post',
data
})
}
思考了一下,可能是params是关键字那种,虽然请求还是post请求,但是组装参数还是按照get方式组装了,因为get的参数是:
params: params
所以啊,复制需谨慎啊,最好是同一类的这样出错概率就小。
|