日期:2014-05-18  浏览次数:20643 次

ajax执行完Axtion之后返回404,这是为啥?
遇到这么个诡异的问题,ajax请求去执行Action,java全部执行完毕,需要输出的参数数据都获取到了,success=true,

但是回到浏览器却报这个Action为404,json数据显示,那几个需要的参数都为null,success=false;

怎么出来就变成了null了呢,success也从true变成了false了,求各位指点一下啦!谢谢!


ajax struts 404

------解决方案--------------------
如果你用的是ajax,Action中就不能reutrn success了,应该是return null;然后用out.print来传到页面相应的数据啊,所以跟本不可能出现404错误。另外要注意的是,如果用struts2 + ajax,那么当struts2内部的传入的参数解析时出现了问题,那么就会出现异常,而且根本就不会执行Action中的代码,这时后台异常打印的结果就是no result。。。。也就是没有这个Action的result结果,这时候很容易被人误以为自己的后台的action配置错了。。。实际上是struts2自身解析参数出现了问题,比如,你input中是写的数字,而action中对应的参数是日期。。。。。
------解决方案--------------------
改成下面的呢?

$.ajax({
url:?basePath?+?"XXX.action",
data:{treeNodeIdList:treeNodeIdList ,bookId:bookId},