易截截图软件、单文件、免安装、纯绿色、仅160KB

AJAX 提交 汉字

昨天,在模拟GOOGLE,做自动完成的时候,在AJAX在前台,提交汉字数据至后台服务器时候,以及后台服务器的处理,出现错误。查阅资料后,最后成功,和各位朋友分享一下:
1.AJAX是不支持提交汉字的,必须给以处理,我们可以用escape   ,encodeURI,encodeURIComponent进行编码,建议使用encodeURIComponent()进行编码,encodeURIComponent()编码的字符更多点,但是encodeURIComponent()不会对0-9,a-z,A-Z等编码,所以英文是安全的,encodeURIComponent(汉字)把汉字编码成UTF-8,它把汉字编码成%XX%XX.......(UTF-8是一种汉字编码方式,我们大家熟悉的编码方式ASCII,GBK,GB2312等,有关编码方式,可以查阅资料)我们在这里用UTF-8进行编码,后台也必须用UTF-8解码,在前台我们需要注意的是:我们提交的汉字需要编码两次即encodeURIComponent(encodeURIComponent(汉字)),只有为什么编码两次,后面再说。

2.当我们成功提交到后台的时候(我这里用servlet),可以用request.getParameter(name)获取,我们一般获取英文的时候,不会错的,但是我们获取的是汉字编码,也就是%XX%XX.......,所以需要解码,我们解码需要JAVA中的一个URLDecoder类,它有个静态方法是decode(String   name,String   解码方式),对%XX%XX......进行译码。我们这里的解码方式肯定是UTF-8,因为我们在前台就是这样编码的,这里需要说明的是request.getParameter(name)会自动进行一次URI解码一次,那有人问,既然它自动解码,为什么我们还需要解码呢?因为request.getParameter(name)是内部的解码过程,会出现乱码,因此前台需要编码两次,即:URLDecoder.decode(request,getParameter(name), "编码方式 ")。

3.当什么在后台对相应的汉字处理之后,如果需要把汉字响应前


相关问答:

ajax 实现无刷新技术 - .NET技术 / ASP.NET

想实现这样的功能:点击页面上的按钮,执行后台函数,通过ajax技术实现无刷新。在网上找到的例子,执行后页面出来了,点击按钮就死了,不动了,在调试状态下运行的话倒是可以出来结果,但是提示脚本错误:408行 ......

jquery中向ajax问题 - Web 开发 / JavaScript

我在一个html中写如下代码:
JScript code:
<html>
<head>
<script type="text/javascript" charset="utf-8"
src="script/jquery-1.3.2.min ......

ajax传递参数获取的问题 - Web 开发 / Ajax

利用Ajax传递一个参数到getreslt.asp,但是发现getreslt.asp应该是没能获取到,检查了发送部分,应该是发出去了的,当指定getreslt.asp的查询条件,也能得到response的结果。麻烦各位看看,这个是发送部分有问题还是 ......

ajax后OnSubmit无效? - Web 开发 / Ajax

a.asp
------------------------------------------------<SCRIPT language=javascript src="check.js"></SCRIPT>
<input type="button" value="测试" onclick=&quo ......

ajax局部刷新世界 - .NET技术 / ASP.NET

为什么我点了前进、后退等按钮还是整个页面都刷新呢?请各位帮帮忙解决,我的要求是局部刷新
C# code:

aspx页贴出一部分
<asp:ScriptManager ID="ScriptManager1" runat="server"> ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号