@RequestMapping(value="/test1")
@ResponseBody
public Object test1(@RequestBody Video result) {
return "xxs";
}
html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript"
src="jquery-1.8.1.min.js"></script>
</head>
<body>
<script type="text/javascript">
function ttt(){
var jsondata = $("#jsondata").val();
var jsonobj = JSON.parse(jsondata);
$.ajax({
type:"POST",
url:"app/test1.do?",
cache: false,
dataType:"json",
contentType:"application/json",
data:JSON.stringify(jsonobj),
//data:jsonobj,
success:function(data){
alert(data);
}
});
};
</script>
<textarea id="jsondata" cols="60" rows="5">
{"vdoTitle":"15072370640","vdoUrl":"123456"}
</textarea><br>
<input type="button" value="111" onclick="ttt()">
</body>
</html>
@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,后来发现用 JSON.stringify(data)的方式就能将对象变成字符串。同时ajax请求的时候也要指定dataType: “json”,contentType:”application/json” 这样就可以轻易的将一个对象或者List传到Java端,使用@RequestBody即可绑定对象或者List