struts2中使用jquery进行ajax提交时乱码解决方案

struts2中使用juery时可以直接指定url为定义的某个action.
这样可以很方便的实现ajax效果。对于中文情况下可能会出现乱码的情况。
解决方案如下:
在客户端JS中使用window.encodeURI()函数对提交的中文字符进行处理,如:$.post("addNewCategory.action", {'categoryName':window.encodeURI(中文值),'parentId':parentId}, function(val){callBackAddNewCategory(val);});//callBackAddNewCategory为回调函数,val为从服务区返回的数据

在后台定义的action中对该中文字符进行解析:
HttpServletRequest request=(HttpServletRequest) (actionContext.getContext().get(ServletActionContext.HTTP_REQUEST));
String categoryName=request.getParameter("categoryName");
categoryName=java.net.URLDecoder.decode(categoryName,"UTF-8");
在后台获取到需要返回的数据后通过ServletActionContext.getResponse().getWriter().write(返回的数据);

你可能感兴趣的:(jquery,Ajax,.net)