1.直接传送的方式
前端代码
前端直接发送一个数组
$("#toBtn1").click(function () {
$.ajax({
url:"test/request/body1.json",
method:"post",
data:{
"empIdArray":[2,3,15]
},
dataType:"json"
})
});
后端代码
注意:此时的接收的参数名后面要加上一个[]
@ResponseBody
@RequestMapping(value = "/test/request/body1.json")
public String testRequestBody1(@RequestParam("empIdArray[]") int[] empArr){
System.out.println(Arrays.toString(empArr));
return "success";
}
2.使用JSON的传输方式
前端代码
①:先使用JSON.stringify()将数据转换成JSON类
②:记得在ajax的contentType参数哪里添加上application/json;charset=utf-8
contentType:application/json;charset=utf-8:设置向后台提交的类型是JSON类型,而且编码格式是utf-8
$("#toBtn2").click(function () {
var empIdArray = [2,3,15];
var empIdJson = JSON.stringify(empIdArray);
$.ajax({
url:"test/request/body2.json",
method:"post",
data:empIdJson,
contentType:"application/json;charset=UTF-8",
dataType:"json"
})
});
后端代码
@RequestBody 使用的场景:传统发送请求参数方式不方便发送的数据,使用JSON 请求体的方式发送。特别是要发送复杂对象的时候
在后端代码中只需要在参数前声明@RequestBody注解即可
@ResponseBody
@RequestMapping(value = "/test/request/body2.json")
public String testRequestBody2(@RequestBody int[] empArr){
System.out.println(Arrays.toString(empArr));
return "success";
}