axios 数组传参
项目中axios需要传递多个数组参数,好记性不如写博客,记录一下自己是如何解决的。
get请求传递数组
步骤如下:
- 引入qs模块
下载模块 vue install --save qs
在使用的组件中导入 Import qs from ‘qs’ - 前端vue发送请求时,做序列化处理。
axios.get("url", {
params: {dIdArray : this.dIdArray, dNumArray: this.dNumArray, ptCard: this.ptCard},
headers: {Authorization: localStorage.getItem('Authorization')},
paramsSerializer: params => {
return qs.stringify(params, { indices: false })
}
})
后端只需要用相应类型数组接收, 如Integer[], String[] 或者是基础类型。
public ResponseResult methodName(HttpServletRequest request, int[] dIdArray,
int[] dNumArray, String ptCard){
post请求传递数组
步骤如下:
- 引入qs模块
下载模块 vue install --save qs
在使用的组件中导入 Import qs from ‘qs’ - 前端vue先将传递的数组封装至对象中
- 发送请求时,对参数做序列化处理
let param = {
hitIdArray : this.hitIdArray,
}
axios.post("inspectRecord/addItemApply", qs.stringify(param, { indices: false }), {
headers: {Authorization: localStorage.getItem('Authorization')},
})
- 后端使用数组/对象接收
public ResponseResult addItemApply(Integer[] hitIdArray)