@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,用JSON.stringify(data)的方式就能将对象变成字符串。同时ajax请求的时候也要指定dataType:"json",contentType:"application/json" 这样就可以轻易的将一个对象或者List传到Java端。
javascript代码如下:
<script type="text/javascript">
$(document).ready(function(){var saveDataAry=[];
var data={"userName":"qzy","address":"sx"};
saveDataAry.push(data);
$.ajax({
type:"POST",
url:"saveUser",
dataType:"json",
contentType:"application/json",
data:JSON.stringify(saveData),
success:function(data){
}
});
});
</script>
java代码如下:
@RequestMapping(value = "saveUser", method = {RequestMethod.POST }}) @ResponseBody public void saveUser(@RequestBody List<User> users) { userService.saveList(users); }