易截截图软件、单文件、免安装、纯绿色、仅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和JSP的一些小问题~ - Java / Web 开发

我JSP的页面是:
<%@ page language="java" contentType="text/html; charset=gb2312"
  %>
<script>
function Save(){
xmlHttp=GetXmlHttpObject()
if(xmlHttp==nul ......

利用ajax实现浮动窗口 - .NET技术 / ASP.NET

点击default.aspx页面上的button,然后弹出一个浮动窗口,应该要怎么做呢,有示例代码吗?
这个关Ajax什么事,就是js控制弹出一个隐藏div

jquery的thickbox 
 或DIV
http://topic.csdn.net/u/2009 ......

ajax读取ashx输出的json数据报错 - .NET技术 / C#

我用jquery无刷新上传图片后返回json格式的数据报错
(实际上图片是上传成功的了,只是返回json格式总读不到,总是报错)
我调试上传的ashx页如下
无法显示 XML 页。 
使用 样式表无法查看 XML 输入。请更 ......

ajax post方式提交数据如何操作? - Web 开发 / Ajax

RT!
xmlHttpRequest.send("提交参数名=值&提交参数名1=值");

var date={"数据1":"数据1值","数据2":"数据2值","数据3":"数据3值" ......

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

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

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