【发布时间】:2013-07-15 07:05:36
【问题描述】:
我是 Spring 的新手。根据我之前在 google 中的搜索,我们可以使用 @RequestBody 将 JSON 数据发送到 Spring Controller,我们可以在控制器中获取数据。
但是当我使用 @RequestBody 时,它不允许向控制器发出请求。
function sendJSON(){
var jsonData = {"name":"XXX","age":"20","hobby":"TV"};
/alert("json Data : \n\n\n"+jsonData);
$.ajax({
type: 'POST',
dataType: 'json',
url: contexPath + "/sender.html",
//dataType: "html",
//contentType: "application/x-www-form-urlencoded; charset=utf-8",
contentType: "application/json"
data : JSON.stringify(jsonData),
success: function(data, textStatus ){
alert("success");
$("#result").html(data.name+"data.age+" "+data.hobby);
},
error: function(xhr, textStatus, errorThrown){
//alert('request failed'+errorThrown);
}
});
}
我的controller 将是,
@RequestMapping(value = "sender.html", method=RequestMethod.POST)
public @ResponseBody Person sendMessage(@RequestBody Persons person){
System.out.println("Test..........");
System.out.println(person.getName()+ " "+person.getAge()+" "+person.getHobby()+"\n");
return persons;
}
但是我的请求被阻止了。
我是否将正确的json data 发送到与java bean 匹配的controller?
希望我们的堆栈用户能帮助我。
【问题讨论】:
-
你的 json 不正确,需要有 person : 在开始
-
感谢您的回复。我需要改变什么?
-
类路径中有jackson库吗,服务器中的异常是什么
-
是的。没有例外。
标签: java json spring jquery spring-mvc