日期:2014-05-16 浏览次数:20408 次
truts2,使用jquery操作ajax返回json数据,搞得相当之蛋疼!
问题出来一堆堆,先说正确解决的代码:
首先是action中:
private String result; //省略getter/setter代码 public String modify() throws Exception{ this.result=this.isOk(); return SUCCESS; } public String isOk(){ boolean isOk=new HouseDaoImpl().updateHouse(house); return isOk?"success":"error"; }
<!--extends 基础的是json-default 而json-default里面有继承了struts-dafault的 --> <package name="json" extends="json-default"> <action name="modify" class="action.ManageAction" method="modify"> <result type="json"> <param name="root">result</param> </result> </action> </package>
$(".update input[type='button']").click(function(){ $.post("modify",{ "house.id":$(".update input[type='hidden']").val(), "house.title":$(".update .title").val(), "house.street.id":$(".update .street option[selected='selected']").val(), "house.contact":$(".update .contact").val() },function(data){ if(data=="success"){ alert("修改成功"); location.reload(); }else{alert("修改失败!");} },"json"); /*这两个方法都行 上面的有传值,下面的没传值可以做测试*/ /* $.ajax({ url:"modify", type:"post", dataType:"json", &nb