vue前端页面传JSON数组到后台报400错误问题解决
前段时间写的项目中写到了前端页面传json数组到后台的一个功能,一开始本来是好的,后来过了段时间别的地方也要写这个功能,就照着之前写的,没想到这次报了400的错误。前端用的vue+elementui,后台是springboot之前我的后台是这样接收前台传过来的数组的public R<Integer> saveMoneyHistoryList(@RequestParam(value =
·
前段时间写的项目中写到了前端页面传json数组到后台的一个功能,一开始本来是好的,后来过了段时间别的地方也要写这个功能,就照着之前写的,没想到这次报了400的错误。
前端用的vue+elementui,后台是springboot
之前我的后台是这样接收前台传过来的数组的
public R<Integer> saveMoneyHistoryList(@RequestParam(value = "moneyHistoryList[]") String[] moneyHistoryList ,String orgId) {
Integer add= channelService.saveMoneyHistoryList(moneyHistoryList,orgId);
return R.data(add);
}
后来报400,网上搜了一些解决办法,参考了一下成功解决
这是修改后的后端方法
用的是阿里巴巴的fastjson
public R<Integer> saveTimeHistoryList(@RequestParam(value = "tempDatas") String tempDatas ,String orgId) {
JSONObject object=JSON.parseObject(tempDatas);
JSONArray newArray=new JSONArray();
int size=object.size();
if(size>0){
for (int i = 0; i <size ; i++) {
newArray.add(object.get(i));
}
}
String date=newArray.toString();
Integer add= channelService.saveTimeHistoryList(date,orgId);
return R.data(add);
}
前端将数组转为字符串
const tempData = Object.assign({}, _this.flagHistoryList);
const tempDatas = JSON.stringify(tempData);
saveFlagHistoryList(tempDatas, this.orgId)
.then(res => {
var datas = res.data.data;
console.log("历史", datas);
});
因为我的需求是将json数组转成字符串存到表里面,页面回显需要这样写,主要记录一下前端传json数组到后台报400错误的解决方法,仅供参考
更多推荐
已为社区贡献5条内容
所有评论(0)