html发送ajax请求必须注明发送的是json所以必须使用下面的模板
$.ajax({
type:"POST",
url:"",
data:JSON.stringify(userList),
contentType:"application/json;charset=utf-8"
});
而spingboot在接受json数据时,必须要使用@RequestBody注解修饰
一、ajax发送的json数据是pojo类型的参数或者是pojo类型的集合,在java中有对应类
1.user类
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
2.html
<script>
var userList = new Array();
userList.push({name:"zhangsan",age:99});
userList.push({name:"lisi",age:108});
// $.get("/travel/user/quick9",{name:"test",age:18});
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/user/quick13",
data:JSON.stringify(userList),
contentType:"application/json;charset=utf-8"
});
</script>
3.后台接受数据
@RequestMapping("/quick13")
@ResponseBody
public void save13(@RequestBody List<User> userList){
System.out.println(userList);
}
二、ajax发送的json数据是多个类型的参数,在java中没有对应类
1.html
<script>
var userList = new Array();
userList.push({name:"zhangsan",age:99});
userList.push({name:"lisi",age:108});
var ajaxData={
'userList':userList,
'test':test2
}
// $.get("/travel/user/quick9",{name:"test",age:18});
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/user/quick13",
data:JSON.stringify(ajaxData),
contentType:"application/json;charset=utf-8"
});
</script>
2.后台接受数据
@RequestMapping("/quick13")
@ResponseBody
public void save13(@RequestBody Map<String,Object> map){
List<User> userList = (List<User>) map.get("userList");
}