我们知道当用ajax传递一些参数到后台时,后台用一个实体类接收时,只需要ajax的传递的参数名和用于接收的实体类的属性名相同即可。 当前台用ajax传递一个json数组时,后台用List接收,这样传递和只用一个实体类接收有所不同:
let datas=[];
for(let i=0;i<10;i++){
let data;
data.name='张三'+i;
data.age=i;
datas.push(data);
}
$.ajax({
type: 'POST',
url: '/test/testReceive',
contentType: 'application/json; charset=utf-8', //必须要加contentType
dataType: 'text',
data: JSON.stringify(datas), //传递到后台时,必须要吧json数组转换为字符串形式
success: function (result) {
if(result==”200”){
alert(“操作成功”);
}
}
})
实体类:
public class Student {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
controller:
@ResponseBody
@RequestMapping(value = "/testReceive", method = RequestMethod.POST)
public String saveMonthDuty(@RequestBody List<Student> StudentList) {
try {
for (Student student : StudentList) {
...
}
return "200";
} catch (Exception e) {
e.printStackTrace();
return "500";
}
}