1.问题
很多人在向后端请求要携带数组参数时,很多人是这样的
这样传过去的话,100%会出问题
2.解决
我们可以这样处理,利用qs去转换一下,如果你安装了axios,就不要去安装qs了,axios里面包含了qs,你只要引入就OK了(import Qs from ‘qs’)
比如我们要传过去这种的数组参数
let ldidList = []
for (var i = 0; i < this.tableNum.length; i++) {
ldidList.push(this.tableNum[i].ldbm)
}
console.log(ldidList) //这里就是我要传的数组参数["340124400498002122", "340121401000542666"]
Qs.stringify({ ldidList: ldidList }, { arrayFormat: 'repeat' })//使用qs的{ arrayFormat: 'repeat'}
let res = await this.$http.post('/ld/delLouDong.do?', ldidList)//注意的这里怎么写的,不要{}包变量
console.log(res)
传过去的是这样子的
3.Java后端接收
如果你前端不懂,直接给后端看,他们一看就懂
@RequestBody String [] ldbmList,
看到这里就解决了,如果没解决就是什么东西不跟我一样,或者带的参数跟我的也一样。
既然看到这里,有用的话,记得收藏,点赞