ajax 传含有list的对象给后台

ajax写法

var rows = $("#dataTable").bootstrapTable("getData");
var statEditLogList = [];
var flag = false;
var errInfo = {"agentType": "渠道类型", "agentId": "渠道名称", "gameId": "游戏","operateType": "编辑类型", "amount": "金额", "bindTime": "时间"}
$.each(rows, function (index, row) {
            for (var key in row) {
                if (!row[key] && (key == "agentType" || key == "agentId" || key == "gameId" || key == "operateType" || key == "bindTime")) {
                    statEditLogList = null;
                    layer.msg("第" + (index + 1) + "行,参数" + errInfo[key] + "缺失,请检查后重新保存");
                    flag = true;
                    return false;
                }
            }
            var amount = row["amount"];
            if (amount <= 0) {
                layer.msg("第" + (index + 1) + "行,参数" + errInfo["amount"] + "必须大于0,请检查后重新保存");
                flag = true;
                return false;
            }
            //将数据装成对象数组
            statEditLogList.push({"agentType":row["agentType"],"agentId":row["agentId"],"gameId":row["gameId"],"operateType":row["operateType"],"amount":row["amount"],"remark":row["remark"],"bindTime":row["bindTime"]});
        })
        if (flag) {
            return;
        }
        // 对账单编辑数据
        var statEditLog = {
            "detailList": statEditLogList
        };
        if (mainId) {
            statEditLog["id"] = mainId;
        }
        //将数据封装成JSON
        var statEditLogJson = JSON.stringify(statEditLog);
        var url = ""
        $.ajax({
            url: url,
            data: statEditLogJson,
            type: "post",
            dataType: "json",
            contentType: "application/json", //集合能被后台解析
            success: function (data) {
                if (data.state == "SUCCESS") {
                    layer.msg("保存成功!");
                    setTimeout(function () {
                        parent.closeCurrentTab();
                    }, 1000);
                } else {
                    layer.msg("保存失败:" + data.msg);
                }
            }
        })

后台接收

 @RequestMapping(value = "/", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> test(HttpServletRequest request, @RequestBody StateEditLogVO stateEditLogVO) {
处理逻辑
}

VO

public class TestVO{
    private List<Test> detailList;
    private String detail;
    private int id;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public List<Test> getDetailList() {
        if (StringUtils.isNotBlank(detail)) {
            JSONArray jsonArray = JSONArray.fromObject(this.detail);
            this.detailList = (List<Test>)JSONArray.toCollection(jsonArray, Test.class);
        }
        return detailList;
    }

    public void setDetailList(List<Test> detailList) {
        this.detailList = detailList;
    }

    public String getDetail() {
        return detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值