日期:2014-05-16 浏览次数:20495 次
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