Java Ajax响应从spring控制器返回为空,即使它成功了
我从spring控制器接收到空数据,即使它返回的数据是ajax成功函数接收到的空数据。我尝试直接从控制器返回字符串,如下所示:Java Ajax响应从spring控制器返回为空,即使它成功了,java,ajax,spring,controller,Java,Ajax,Spring,Controller,我从spring控制器接收到空数据,即使它返回的数据是ajax成功函数接收到的空数据。我尝试直接从控制器返回字符串,如下所示: @ResponseBody @RequestMapping(value = "/test", method = RequestMethod.POST) public String test(@RequestParam("posImsi") String posImsi,@RequestParam("posMsisdn") String posMsisdn){ r
@ResponseBody
@RequestMapping(value = "/test", method = RequestMethod.POST)
public String test(@RequestParam("posImsi") String posImsi,@RequestParam("posMsisdn") String posMsisdn){
return "success";
}
而ajax是:
$.ajax({
url : "test",
type : "POST",
data : formData,
beforeSend : function(){
$("#overlay").show();
},
success : function(ajaxResult){
console.log(ajaxResult);
},
complete : function(status) {
},
error : function(jqXHR, status, errorThrown) {
alert(jqXHR);
alert(status);
alert(errorThrown);
}
});
通过使用XMLHttpRequest对象执行ajax请求,问题得到了解决,我真的不知道有什么区别,但我使用的是:
var x = new XMLHttpRequest();
x.open("POST","test",true);
x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
x.send(formData);
x.onload = function () {
console.log(this.responseText);
};
有关XMLHttpRequest对象的更多信息:您是否在pom.xml中包含了databind maven依赖项?“即使成功”-这是否意味着HTTP成功代码。。。?也许最好添加一些需要的响应和一些作为代码接收的响应,以使其更具可读性?@YasirShabbirChoudhary,是的,我使用了jacksondatabind@Dilettant,我在发送邮件时收到“200HTTP”状态request@Ibrahim试试这个,希望你的问题能解决。下面的链接有助于描述RestController和Controller之间的区别。