前台传输的不同对象,后台的接收方式
步骤一:从前台获取想要传入的数据对象
//创建存入的对象和数组
var list = new Array();
var z = {};
//接收页面获取的值的数组
var id = [];
var name = [];
var code = [];
var status = [];
//通过name获取想要的数据
$("input[name='ID']").each(function () {
id.push($(this).val())
})
$("input[name='NAME']").each(function () {
name.push($(this).val())
})
$("input[name='CODE']").each(function () {
code.push($(this).val())
})
$("select[name='STATUS']").each(function () {
status.push($(this).val())
})
//原来的数据
for (var i = 0; i < id.length; i++) {
var c = {};
c.ID = id[i];
c.NAME = name[i];
c.CODE = code[i];
c.STATUS = status[i];
list.push(c);
}
//新增的数据
for (var i = id.length; i < name.length; i++) {
var c = {};
c.NAME = name[i];
c.CODE = code[i];
c.STATUS = status[i];
list.push(c);
}
//使用传输对象组合
$.ajax({
url: 地址,
type: 'post',
cache: false,
contentType: 'application/json;charset=utf-8',
dataType: "text",
data: JSON.stringify({前台名称: 数据}),
后台接收的方式:
@RequestMapping
@ResponseBody
public void addData(@RequestBody Map<Object, Object> param) {
}
(1)接收的时候是转换为一个List<Object> 接收前台对象
List<Object> dataDetall = (List<Object>) params.get("前台名称");
(2)使用遍历list集合 将数据Map<String, Object>方式存放 ,这样可以取到每一个对象对应属性的值
for (int i = 1; i <dataDetall.size() ; i++) {
Map<String, Object> o = (Map<String, Object>) dataDetall.get(i);
o.get("前台的对象属性名称")
}
逗比之举