1、在和struts2框架做ajax验证时候,采用ajaxValidator方法!
url : “valEmail.action”, data:”email=”+$(“#email”).val();
这种形式传递不能把值传递到Service~~
解决方法:直接默认传递,即url : “valEmail.action”, 不构建任何字符串~由formValidator插件完成参数传递!然后在action里面通过String str = request.getParameter(“email”);得到传递的参数。
2、ajaxValidator乱码问题
由于前面一个问题导致不能加入参数,因此在传入中文后会有乱码出现!在action里面~~通过各种方式转换都不成功!
解决方法:打开formValidator.js文件,找到395行的
var parm = "clientid="+id+"&"+id+"="+encodeURIComponent(encodeURIComponent(srcjo.val()));
var parm = "clientid="+id+"&"+id+"="+escape(srcjo.val());
然后在服务端获取参数的时候String str = URLDecoder.decode(request.getParameter(“name”),”utf8″);转换即可
以上都是在源码和界面都采用utf8情况下!肯定有更好的解决方法!希望大家帮忙,集思广益!
评论关闭。