昨日一个post请求接口问题,让自己搬砖了很久,后来解决问题后才知道那么简单,只能怪自己学艺不精了。。
话不多说,切入正题吧。
问题现象: 一个post请求,传参是一个对象 {key:数组},
{
"advertiser_list" : [
{
"advertiser_id" : "1702793553701965",
"advertiser_name": "SM青竹网络-花生免费小说-5",
"customer_id":"1702707753858061",
"company":"南京青竹网络科技有限公司",
"user_id" : "14",
"project_id" : "10",
"launch_status": "1",
"remark" : "测试1"
},
{
"advertiser_id" : "1702793553701965",
"advertiser_name": "SM青竹网络-花生免费小说-5",
"customer_id":"1702707753858061",
"company":"南京青竹网络科技有限公司",
"user_id" : "14",
"project_id" : "10",
"launch_status": "1",
"remark" : "测试1"
}
]
}
接口是调通了,但是后台接收到的数据却是字符串的怪异格式,于是就开始搬砖,
1.怀疑是content-Type设置的有问题,尝试了其他类型,失败
2.使用qs序列化,失败
3.请求头中content-length 为0,没有携带content-Type,以为content-Type被这个干掉了 ,所以后台接收识别不了的信息,
上述原因都是错误的方向,后来才发现是接口传参时,入参放到了params了,post请求需要将入参放入data里
错误代码示范:
export function addUserList(query) {
return request({
url: '/tenant/addUserList',
method: 'post',
params: query
})
}
正确代码示范:
export function addUserList(query) {
return request({
url: '/tenant/addUserList',
method: 'post',
data: query
})
}
这足以证明对axios的理解不够深入