Vue.cli3使用axios的post给后台传数组参数(qs篇)

Vue.cli3使用axios的post给后台传数组参数(qs篇)_第1张图片

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)

传过去的是这样子的
Vue.cli3使用axios的post给后台传数组参数(qs篇)_第2张图片

3.Java后端接收

如果你前端不懂,直接给后端看,他们一看就懂

 @RequestBody String [] ldbmList,

看到这里就解决了,如果没解决就是什么东西不跟我一样,或者带的参数跟我的也一样。
既然看到这里,有用的话,记得收藏,点赞

你可能感兴趣的:(vue,vue)