2015-12-15 79 views
0

我正在尝试从java中的spring返回响应结果到html页面,但未能收到响应。基本上,我的searchRoom方法试图搜索房间的可用性,如果可用,则返回true或否则返回false。我的响应消息被传递给html文件,响应应该通知用户是否可用。但我无法收到回复,请有人告诉我我做错了什么。另外,我试图做一个控制台日志,但没有打印真或假。无法在前台接收来自rest api的响应

下面是我的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

其实想通了。我忘了使用@ResponseBody注释和下面的代码解决了我的问题:

@RequestMapping(value = "/guest/search", method = RequestMethod.POST) 
    @ResponseBody 
    public boolean SearchRoom(@RequestBody Occupancy occupancy){ 
     boolean result = occupancyservice.searchAvlRoom(occupancy); 
     return result; 
    }