[英]How to send json data to a Spring Controller?
I am working with Spring MVC 3.0.7. 我正在使用Spring MVC 3.0.7。 I send data using AJAX to my Spring controller but the spring controller is not called.
我使用AJAX将数据发送到我的Spring控制器,但未调用spring控制器。 Here is my Ajax call:
这是我的Ajax电话:
var mysaverowurl = '/app/user/save';
$.ajax({
url: mysaverowurl,
type: "POST",
data: postData,
contentType: 'application/json',
success: function () {
alert("success ");
}
});
postData contains {"name":"Franck","age":"94"}
postData包含
{"name":"Franck","age":"94"}
Here is my Spring controller: 这是我的Spring控制器:
@Controller
@RequestMapping("/app/user")
public class myController {
@RequestMapping(value = "/save", method = RequestMethod.POST, headers = { "Content-type=application/json" })
@ResponseBody
public List<String> saveUser(HttpServletRequest request, Model model, @RequestBody User user) {
List<String> reponse = null;
// ...........
return reponse;
}
}
The controller is not called. 不调用控制器。 But if remove
@RequestBody
from the saveUser
signature: 但是,如果从
saveUser
签名中删除@RequestBody
:
public List<String> saveUser(HttpServletRequest request, Model model)
it gets called. 它被调用。 Why
@RequestBody
doesn't seem to work? 为什么
@RequestBody
似乎不起作用?
User class : 用户类别:
public class User{
private String name;
private String age;
public String getAge(){
return age;
}
public void setAge(String age){
this.age=age;
}
public String getName(){
return name;
}
public void setAge(String name){
this.name=name;
}
}
Here is a part of my pom file. 这是我的pom文件的一部分。
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-lgpl</artifactId>
<version>1.8.1&</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
Change your var mysaverowurl = '<c:url value="/app/user/save" />';
更改您的
var mysaverowurl = '<c:url value="/app/user/save" />';
to 至
var mysaverowurl = '/app/user/save';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.