做项目时使用了DWR实现AJAX。但是在使用的时候访问使用了DWR的页面时,网页加载时总是弹出一个对话框,提示内容为“Failed to find parameter: c0-scriptName”。同时后台出现如下异常:
java.lang.IllegalArgumentException: Failed to find parameter: c0-scriptName
访问的页面放在了一个iframe里面,但是如果在地址栏直接输入访问页面的地址此时就不会报错了。让人不解的时,有另一个模块使用DWR的方法和完成的功能类似,确没有这种问题....
后来,使用Firexfox的firebug进行调试的时候,查看了一下请求的头信息内容如下:
页面放在iframe里时的请求信息:
单独访问页面时的请求信息:
访问另一模块时的请求信息:
分析以上请求信息没有发现什么特别的地方,这时想起来以前做项目时曾遇到的一个问题:汉字字数为奇数会出现乱码(汉字字数为偶数时就不会出现乱码问题)的问题。所以就将iframe的name属性去掉了一个汉字,即:供应商管。此时再访问页面,竟然没有问题了,运行正常。
问题是解决了,但是请求是以post方式提交的不应该出现乱码问题,问题有待对engine.js进一步了解后解决。。。。。。