在页面调用中,经常会用到ajax方法,本人是用struts框架作为后台处理的。不知大家是否也有类似的困惑,明明后台有对应的action方法,但就是调用不了。在此,本人总结以下一些原因,以供参考:
1、查看所部署的tomcat目录下,该工程的class目录下的后台方法是否真的存在。可以通过反编译一下action方法所在类,看看是否真的有你所写的action方法,因为可能你还没编译的话,可能tomcat目录下的工程是没有你所编写的action方法的。(ps:本人就是看了这里才发现自己的错误:自己由于是在SVN上开发的,切了多个分支,但所写的action方法不小心写到其他分支上了,找了好久才发现。。)
2、前端调用action时,所传参数不可直接传中文。否则也是调不到后台方法的,解决方法可以编码后再传到后台,然后后台再解码即可。
3、查看struts.xml中配置的mapper是否正确,包括action名称、方法名称等等,大小写要保持一致。
4、如果以上方法还不生效,则可以在调用ajax方法时加上错误调用的处理,打印一下错误返回信息,再具体分析具体原因。