日期:2014-05-17  浏览次数:20688 次

struts2+ajax请求失败,帮忙看一下。
//js端代码
$(".accept").click(function(){ 
alert("i was clicked");
$.ajax({
type: "POST",
url: "question/questionAction_changeAccept",
dataType: "json",
success: function(json){ alert("right:"+json.result); },
error: function(json){ alert("error:"+json.result); }
});
});

//问题
后台action能够获得请求,并且生成json格式数据(后台能打印出来),问题是前台无法获得返回的值,error弹出的值是 undefined
struts ajax json

------解决方案--------------------
楼主还没明白Struts2的json-plugin的用法。如果你没在getter方法上加@JSON(serialize=false)或者没有在配置文件里面的返回json的result下指定<param name="excludeProperties"></param>(排除输出的属性)
struts2默认会把所有带getter的属性都输出的,所以这就是为什么你把getRequest去掉就可以了,你在这个方法上也加入@JSON(serialize=false)或者在配置文件里的result里加入<param name="excludeProperties">request</param>一样能达到效果
------解决方案--------------------
引用:
引用:楼主还没明白Struts2的json-plugin的用法。如果你没在getter方法上加@JSON(serialize=false)或者没有在配置文件里面的返回json的result下指定<param name="excludeProperties"></param>(排除输出的属性)
struts2默认会把所有带getter的属……

http://struts.apache.org/2.2.1.1/docs/json-plugin.html

即使带上request输出也没有理由要影响result的获得。
可以重点查下request属性是如何影响result的。