ajax 无法获json的数据??啥原因啊...
我的开发环境:struts2.1.8.1 、struts2-plugin-json-2.1.8.1
<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>
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; }
System.out.println(json);//把json打印出来,看看是否格式正确
3 bedajax_getRoom.action 直接在地址栏访问,看看是否有调用返回
[解决办法]
不明白
[解决办法]
既然都用struts2和json整合的jar包了怎么还在action中还这样写?【response.getWriter().print(result)】
我贴一个整合的例子,你可以参考一下:
User.java
package bean;public class User { private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
[解决办法]
用到的jar包:
struts2-json-plugin-2.1.8.1.jar
json-lib-2.1.jar
commons-collections-3.2.jar
commons-beanutils-1.7.0.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
ezmorph-1.0.3.jar
这7个包是返回json形式的数据必须的。因为json大量引用了Apache commons的包,所以要加入4个,commons包,除了commons的包外,还需要引入一个 ezmorph的包。最后加入struts2必须的6个包:
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
ognl-2.7.3.jar
freemarker-2.3.15.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
源码可以去这个地址下载http://download.csdn.net/source/3187325