日期:2014-05-20  浏览次数:20836 次

ajax 无法获json的数据??啥原因啊...
我的开发环境:struts2.1.8.1 、struts2-plugin-json-2.1.8.1
Java code

    <script type="text/javascript">
     $(function(){
          $("#hotel").bind("change",function(){
              var hotel=$("#hotel").val();   
              alert(hotel);
              $.ajax({
                  url :'bedajax_getRoom.action',  
                  type:'post',
                  data:'hotelId='+$("#hotel").val(),
          dataType:'json',
          success:function(json){
                var roomList=json.roomList;
                   var html = "";
                      html+="<table><tr><td>房间编号:</td><td>"+roomList.roomCode+"</td></tr></table>";
                    $("#showRoom").html(html);

                  }
               });
              })

          })
    </script>





 <package name="ajax" extends="json-default">  
  <action name="bedajax_*" class="bedAction" method="{1}">

  <result type="json"></result>
</action>
  </package>  

Java code
public  String getRoom() throws Exception{
         HttpServletRequest request=ServletActionContext.getRequest();
         String hotelId=request.getParameter("hotelId");
          Long hotel=Long.parseLong(hotelId);
        roomList=bedService.roomsSelected(hotel);
        return SUCCESS;
    }


=========================================================================================

ajax可以进到action里,但是回到函数获取不到东西....
success:function(json){
  var roomList=json.roomList;
  var html = "";
  html+="<table><tr><td>房间编号:</td><td>"+roomList.roomCode+"</td></tr></table>";
  $("#showRoom").html(html);

  }
何解?

------解决方案--------------------
后台是这样子输出json的 
public String getRoom() throws Exception{
HttpServletReponse response = ServletActionContext.getResponse();
response.getWrite().print(json);
response.getWrite().close();
return null;
}
------解决方案--------------------
探讨
引用:
后台是这样子输出json的
public String getRoom() throws Exception{
HttpServletReponse response = ServletActionContext.getResponse();
response.getWrite().print(json);
response.getWr……

------解决方案--------------------
success:function(json){
或者JSON Plugin,它可以将Struts2 Action中的结果直接返回为JSON
------解决方案--------------------
或者getJson()
------解决方案--------------------
这个东西~~~我也不是很清楚!!!配置有很多种!方法也好像有很多种!
如果LZ知道~~~希望结贴的时候给好好总结总结、在分享分享!
下面是我以前做的一个! http://blog.csdn.net/hzw2312/archive/2011/04/14/6322325.aspx
------解决方案--------------------
我没有看到楼主有返回json的代码~~
------解决方案--------------------
1 success:function(json){
alert(json);//能否打出东西
...

2 response.getWrite().print(json);