AJAX发送json,SpringMVC 接收JSON,@RequestBody
需求:JQuery ajax前台,采用 POST请求 发送json,后台使用SpringMVC接收json并处理
前台:
$.ajax({
url:"请求地址",
type:"POST",//设置请求方式
header:'Content-Type':'application/json; charset=utf-8',//设置前台发送数据格式(关注Content-Type,不同Content-Type对应SpringMVC处理方式不同,影响请求类型,故本特 别指明采用POST请求方式。具体Content-Type相关知识,需要在搜寻学习了)
data: JSON.stringify(param),
........
})
var param = {
name:“ROLE_1”,
permission:.....
}
通过JSON.stringify(param),将数据序列化为一个 JSON字符串,用于发送
本文 JSON 数据例:
后台:
@ResponseBody
@RequestMapping(value="/savePermission",method=RequestMethod.POST)
public void savePermission(@RequestBody(required=true) JSONObject json) {
System.out.println(json);
}
注解@RequestBody 用于处理POST请求,以及application/json,平时ajax默认Content-Type为application/x-www-form-urlencoded,是以key-value方式发送数据。我们采用@RequestParam注解接收。
@RequestBody还可以处理其它请求类型数据,在SpringMVC中@RequestBody默认处理值就是 “application/json“ 。该注解为关键,具体注解其余知识,需要自己学习了。
此处采用JSONObject json接收数据。此外还可以采用实体接收等。
以上就完成了一个简单的前台发送JSON,后台接收并处理的功能。