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;
}
}