前端集合参数Ajax请求,这里用一个多图片上传场景举例:
var dataObj = [];
for (let img of this.imgContentList) {
var dataArr = {};
dataArr.aname = img.name;
dataArr.apath = img.url;
dataArr.oid = this.adjunctOid;
dataObj.push(dataArr);
}
如果后端想用一个List一次性接收,那么Ajax请求得这么写,与一般请求的区别是必须用JSON.stringify强转json,以及设置contentType参数
$.ajax({
type: "POST",
data: JSON.stringify(dataObj),
contentType: 'application/json',
dataType: "json",
url: "你的后端接口地址",
success: function (res) {
if(res.code != 20){
that.$message.error(res.message);
}else{
//do something
that.$message({
type: 'success',
message: '上传成功!'
});
}
}
});
后端接收代码块,记住@RequestBody注解一定要加,否则会报错,或者接收不到参数
//存储上传的附件的资料
@RequestMapping("/uploadAdjunct")
@ResponseBody
public String checkUserIds(@RequestBody List<FwdOrderAdjunct> fwdOrderAdjunctList) {
//接收之后做些事情
return "ok";
}