菠萝可乐达a 2022-01-26 01:54 采纳率: 0%
浏览 90

怎么通过ajax返回对个对象,并在后台接收

页面上有四个表单,提交的时候把数据分别封装到4个对象里,怎么通过ajax返回这四个对象,并且在后台接收呢。页面用的是miniui,后台用的hibernate
这是 我前端接收并封装四个表单数据到四个json对象里的代码
    mini.parse();
    var tableDiv1 = new mini.Form("#tableDiv1");
    var tableDiv2 = new mini.Form("#tableDiv2");
    var tableDiv3 = new mini.Form("#tableDiv3");
    var tableDiv4 = new mini.Form("#tableDiv4");

    function saveLocal() {
        var data1 = tableDiv1.getData();
        tableDiv1.validate();
        if (tableDiv1.isValid() == false) return

        var data2 = tableDiv2.getData();
        tableDiv2.validate();
        if (tableDiv2.isValid() == false) return;

        var data3 = tableDiv3.getData();
        tableDiv3.validate();
        if (tableDiv3.isValid() == false) return;

        var data4 = tableDiv4.getData();
        tableDiv4.validate();
        if (tableDiv4.isValid() == false) return;

        var json1 = mini.encode(data1); //序列化成JSON格式字符串
        let inspectionRecord = JSON.parse(json1); //JSON格式字符串转为json对象
        var json2 = mini.encode(data2);
        let checkItemInformation = JSON.parse(json2);
        var json3 = mini.encode(data3);
        let checkSpecimenInformation = JSON.parse(json3);
        var json4 = mini.encode(data4);
        let checkImageInformation = JSON.parse(json4);
 
        var jsonStr = {inspectionRecord:inspectionRecord , checkItemInformation:checkItemInformation,checkSpecimenInformation:checkSpecimenInformation,checkImageInformation:checkImageInformation};
        console.info([{inspectionRecord} , {checkItemInformation},{checkSpecimenInformation},{checkImageInformation}]);
        $.ajax({
            url: "${ctx}/ClinicalInspectionReportRecord/SaveLocalReportRecord",
            cache: false,
            type: "post",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({"allBean":jsonStr}),
            success: function (text) {
                if ('200'==text.returnCode) {
                    mini.alert(text.returnMsg,"提示",window.CloseOwnerWindow);
                } else {
                    mini.alert(text.returnMsg);
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
                mini.alert(jqXHR.responseText);
                CloseWindow();
            }
        });
    } 
运行结果及报错内容
我建了四个实体类,想用@RequestBody直接把页面传过来的四个对象都封装到这四个实体类里面,可惜页面上传递的时候是有值的,后台拿的时候都是null,压根就没封装进去
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • 关注

    改成
    data: {"allBean":JSON.stringify(jsonStr)},

    后台获取allBean 参数即可

    评论

报告相同问题?

问题事件

  • 创建了问题 1月26日

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料