我试图将java中的spring的响应结果返回到html页面但是没有收到响应。基本上我的searchRoom方法尝试搜索房间的可用性,如果它可用则返回true或者否则返回false。我的响应消息被传递给html文件,并且响应应该通知用户是否可用。但我无法收到回复,请有人告诉我我做错了什么。并且旁注我试图做一个控制台日志,但无法打印出真或假。
以下是我的Java代码:
@RequestMapping(value = "/guest/search", method = RequestMethod.POST)
public String SearchRoom(@RequestBody Occupancy occupancy, ModelMap model){
boolean result = occupancyservice.searchAvlRoom(occupancy);
System.out.print(result);
model.addAttribute("result", result);
return "guest";
}
下面是我的查询函数,它发布数据并收到响应:
$("#checkAvailabilityForm").submit(function(e){
e.preventDefault();
var formData={
"checkInDate": $("#checkInDate").val(),
"checkOutDate": $("#checkOutDate").val(),
"roomsWanted":$("#roomsWanted").val(),
"room":{
"roomType": $("input[name=roomType]:checked").val(),
"roomProperties":$("input[name=roomProperties]:checked").val()
}
};
$.ajax({
type: 'post',
url: 'guest/search',
dataType: 'json',
data: JSON.stringify(formData),
contentType: 'application/json',
success: function(dataRecieved){
var dataRecieved= $.trim(dataRecieved);
console.log(dataRecieved);
/*if(dataRecieved === ''){
}else{
}*/
}
});
答案 0 :(得分:0)
实际上想通了。我忘了使用@ResponseBody注释,下面的代码解决了我的问题:
@RequestMapping(value = "/guest/search", method = RequestMethod.POST)
@ResponseBody
public boolean SearchRoom(@RequestBody Occupancy occupancy){
boolean result = occupancyservice.searchAvlRoom(occupancy);
return result;
}