【发布时间】:2011-04-26 21:09:42
【问题描述】:
我正在尝试向 Spring MVC 控制器发送 Ajax 请求并相应地将其映射到 Java 类:
public class Person implements Serializable {
private MutableLong Id = new MutableLong();
@NotEmpty
@Size(min = 1, max = 50)
String FirstName=null;
@NotEmpty
@Size(min = 1, max = 50)
String LastName=null;
public Person(){}
public long getId(){
return this.Id.longValue();
}
//getters and setters
}
然后我有发送 AJAX 请求的 JavaScript:
function loadXMLDoc(){
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("POST","/authenticate.dlp", true);
xmlHttp.setRequestHeader('Content-Type', 'application/json');
param = '{\"FirstName\"=\"test\",\"LastName\"=\"test2\"}';
xmlHttp.send(param);
}
然后是控制器本身:
@RequestMapping(value="/authenticate.dlp",method = RequestMethod.POST)
@ResponseBody
public String getAjax(@RequestBody Person person){
Set<ConstraintViolation<Person>> failures = validator.validate(person);
if(!failures.isEmpty())
//......
}
服务器似乎没有响应。如果我使用 Fiddler,我会看到来自服务器的以下响应:
服务器拒绝了这个请求 因为请求实体在 请求的格式不支持 请求方法的资源 ()。
我做错了什么?
【问题讨论】:
-
我们需要查看你的 spring appcontext 的内容
标签: java ajax spring spring-mvc