ajax默认中文提交以utf-8格式,所以只需要在你的web服务加个过滤器,设置下编码格式即可;
1.注意为防止编码设置无效,请在编码设置完后,显示调用下request.getParameter("");(tomcat5.0测试通过)
据说其他服务器,可能显示调用了,也有可能被服务器重置;
2.有时已经有filter需要设置gbk编码,为了不影响原先的filter功能,我是直接在ajax提交时候,带个服务端要设置的编码格式 例如 Ajax.request("/myaction.do?charset=utf-8")
服务端filter,要用request.getQueryString() 截取charset值 ,注意千万不要用request.getParameter("charset");
3.注意,在没设置编码格式前,不要加 watch监控 比如有个表达式 request.getParameter("*");
首先分析通过正常GET,Post提交页面和AJAX提交页面有什么不同看截图
Get ,Post正常方式提交数据
AJAX方式提交数据
主意AJAX多了个x-requested-with信息所以可以采用获取HTTP Header方法来判断是采用那种提交方式提交数据的所以
主要代码如下
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// Conditionally select and set the character encoding to be used
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
String requestedWith = httpRequest.getHeader("x-requested-with");
String type = request.getContentType();
if (requestedWith != null && "XMLHttpRequest".equals(requestedWith)
&& null != type
&& "application/x-www-form-urlencoded".equals(type)) {
httpRequest.setCharacterEncoding("UTF-8");
httpResponse.setCharacterEncoding("UTF-8");
httpRequest.getParameterMap();
} else {
request.setCharacterEncoding("gbk");
response.setContentType("text/html;charset=" + "gbk");
}
chain.doFilter(request, response);
}
分享到:
- 2009-02-22 18:12
- 浏览 1002
- 评论(1)
- 论坛回复 / 浏览 (1 / 3286)
- 查看更多
相关推荐
### Ajax乱码解决方案 在进行Ajax开发的过程中,经常会遇到数据编码问题导致的乱码现象。这类问题虽然看似简单,但若处理不当,则可能耗费大量时间进行调试与解决。本文将结合一个具体的案例来探讨如何有效地解决...
【Java认证:Ajax中文乱码问题及解决方法】 在Java Web开发中,使用Ajax进行异步数据交互时,经常会遇到中文乱码的问题。这主要涉及到字符编码的处理,特别是当Ajax请求发送的数据包含中文字符时。以下是两种常见的...
本文将详细探讨如何有效地解决JSP页面中的中文乱码问题,并提供具体的解决方案。 #### 一、了解中文乱码的原因 中文乱码主要是因为编码不一致导致的。例如,当浏览器发送请求时使用了一种字符集(如GBK),而...
本文将深入分析此案例中的关键技术和代码实现方式,为读者提供一个完整的解决方案。 #### 二、核心概念介绍 1. **AJAX(Asynchronous JavaScript and XML)**:一种在无需重新加载整个网页的情况下,能够更新部分...
在本篇文档中,我们针对使用Struts、Ajax和JSP技术栈时出现的请求乱码问题,提出了解决方案,即通过JavaScript函数encodeURI对请求参数进行转码。 首先,我们来了解一下Struts、Ajax和JSP这三项技术: 1. Struts是...
### Struts乱码问题详解与解决方案 #### 一、引言 在Web开发过程中,特别是在使用Struts框架进行开发时,经常会遇到字符编码的问题,尤其是中文字符的乱码问题。本文将详细介绍Struts中常见的乱码现象,并提供具体...
通过上述解决方案的应用,我们可以有效地解决前后端交互中出现的中文乱码问题。关键是确保前端发送请求时指定了正确的字符编码,并且后端能够正确解析这些编码。此外,合理的服务器配置也是保证系统稳定运行的重要...
此外,需要注意的是,使用AJAX进行局部刷新时,可能会遇到一些问题,比如防止表单重复提交、处理中文乱码、验证机制等。以下是一些相关的解决方案: - **防止重复提交**:在JSP中,可以使用session或cookie来记录...
在【描述】中提到,fancyupload的整个工程是基于utf-8编码的,这意味着它能够很好地支持各种国际字符集,不会出现乱码问题,对于全球化网站来说非常友好。开发者将源代码开源,这为其他开发者提供了参考和定制的可能...
11.解决后台编辑器之前空2格低于一个汉字的问题 12.完善几个细节问题 13.整合20121103~20121220补丁 2012年12月20日 ★更新方式:admin文件夹改成你后台目录名,然后补丁包里的所有文件覆盖进去。 1.富媒体...
然而,在实际应用中,ajaxValidator经常遇到一些异常情况,本文将深入探讨其中的一个典型问题,并提供相应的解决方案。 问题描述: 在使用ajaxValidator时,有时会遇到一种现象:无论验证是否成功,当输入控件重新...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...
任意设置的会员级别和浏览权限精确到每条记录,这对于那些希望不同内容针对不同查看对象开放来讲,无疑是最佳解决方案。 会员分组功能,可以设置不同的分员组别。 注册可发送邮件,宣传公司信息。 忘记密码可...