Ajax前台传数组,Java后台接收方式

第一种: 用$.param(xxx,true) 的方式进行序列化,后台用RequestParam接收

    $.ajax({
        type: "post",
        url: url,
        data: $.param({"courseId":courseId,"oldChooseClassIds":oldChooseClassIdArrs,"chooseClassIds":chooseClassIds},true),
        dataType: "json",
        async: false,
        success: function (rs) {
            if (rs.code == '200') {
                oldChooseClassIdArrs = chooseClassIds;
                isOk = true;
            }else{
                layer.alert(rs.msg);
            }
        }
    });

后台:

@PostMapping("/saveOrUpdateCourseClassInfo")
public ResultEntry saveOrUpdateCourseClassInfo(@RequestParam(value = "courseId",required = false) String courseId,
                                               @RequestParam List<Long> oldChooseClassIds,
                                               @RequestParam List<Long> chooseClassIds){
    jsSysCourseService.saveOrUpdateCourseClassInfo(oldChooseClassIds,chooseClassIds,courseId);
    return ResultEntry.ok();
}

第二种:前端用传统方式序列化,后端用List<实体> 接收

$.ajax({
type: “post”,
url: url,
data: {“courseId”:courseId,“oldChooseClassIds”:oldChooseClassIdArrs,“chooseClassIds”:chooseClassIds},
dataType: “json”,
traditional : true,//用传统方式序列化数据
async: false,
success: function (rs) {
if (rs.code == ‘200’) {
oldChooseClassIdArrs = chooseClassIds;
isOk = true;
}else{
layer.alert(rs.msg);
}
}
});

后端:ao实体接收

@Setter
@Getter
public class ClassInfoAo {
private List oldChooseClassIds;
private List chooseClassIds;
private String courseId;
}

@PostMapping("/saveOrUpdateCourseClassInfo")
public ResultEntry saveOrUpdateCourseClassInfo(ClassInfoAo ao){
    return ResultEntry.ok();
}

第三种:json接收 在做转化

@PostMapping("/saveOrUpdateCourseClassInfo")
public ResultEntry saveOrUpdateCourseClassInfo(String courseId,String oldChooseClassIds,String chooseClassIds){

    JSONArray jsonArray = JSONObject.parseArray(oldChooseClassIds);
    List<Long> list = JSONObject.parseArray(jsonArray.toJSONString(), Long.class);

    return ResultEntry.ok();

$.ajax({
type: “post”,
url: url,
data: {“courseId”:courseId,“oldChooseClassIds”:JSON.stringify(oldChooseClassIdArrs),“chooseClassIds”:JSON.stringify(chooseClassIds)},
dataType: “json”,
async: false,
success: function (rs) {
if (rs.code == ‘200’) {
oldChooseClassIdArrs = chooseClassIds;
isOk = true;
}else{
layer.alert(rs.msg);
}
}
});

  • 2
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

草坂散人大队

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值