跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)

跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)

ID:13433250

大小:113.00 KB

页数:11页

时间:2018-07-22

跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)_第1页
跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)_第2页
跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)_第3页
跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)_第4页
跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)_第5页
资源描述:

《跟我学ajax技术——实现无刷新形式的数据查询的web应用示例(第三部分)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、杨教授工作室精心创作的优秀程序员职业提升必读系列资料1.1跟我学AJAX技术——实现无刷新形式的数据查询的Web应用示例(第三部分)1.1.1解决中文乱码的另一种实现方式修改webajax.js中的sendData方法请求方式为Post方式,并将请求参数放在send()方法中,模拟Web表单的post请求提交1、webajax.js中的代码如下varhttpRequest;functionsendData(){varcityNameInputValue=document.getElementById("cityNameInputID").v

2、alue;if((cityNameInputValue==null)

3、

4、(cityNameInputValue=="")){alert("您没有输入城市的名称!");return;}varrequestURL="/FirstAJAX/ajaxservlet";httpRequest=getHTTPRequestObject();httpRequest.onreadystatechange=processHttpResponse;httpRequest.open("POST",requestURL,true);httpRequest.setR

5、equestHeader("Content-Type","application/x-www-form-urlencoded");varqueryParameter="cityName="+cityNameInputValue;queryParameter=encodeURI(queryParameter);queryParameter=encodeURI(queryParameter);//两次,很关键httpRequest.send(queryParameter);}要应用escape(或encodeURI两个JavaScript中的其

6、中一个函数,功能基本相同),但要使用两次。补充资料:HTTP协议的编码规定11杨教授工作室,版权所有,盗版必究,11/11页杨教授工作室精心创作的优秀程序员职业提升必读系列资料在HTTP协议中,浏览器不能向服务器直接传递某些特殊字符,必须是这些字符进行URL编码后再进行传送。URL编码遵循的规则:将空格转换为(+)、对0-9,a-z,A-Z之间的字符保持不变。而对于所有其他的字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在每个十六进制字节前加上一个百分号%。例如,字符“+”用%2B表示,字符“=”用%3D表示,字符“&”用%

7、26表示,字符“国”用%B9%FA表示注意,同一个中文字符在不同的字符集编码方式下,在内存中的编码值也是不同的,一个字符的URL编码是针对字符在内存中的码值而言的,采用不同编码的同一个字符的URL编码结果是不同的。2、AJAXServlet类中的doPost方法的代码publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{StringcityName=request.getParamet

8、er("cityName");cityName=java.net.URLDecoder.decode(cityName,"UTF-8");CreateXMLInterfacecreateXML=newCreateXMLBean();StringxmlFileContent=createXML.createXMLText(cityName);System.out.println("cityName="+cityName);response.setContentType("text/xml;charset=gb2312");response.s

9、etHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(xmlFileContent);//out.print(sb.toString());out.close();}当调用request.getParameter()函数时,会自动进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI编码两次后,request.getParameter()函数得到的是原信息URI编码一次的内容。再用可控的解码函数java.net.U

10、RLDecoder.decode()就可解出原始的正确的信息。因此,如果将提交的数据使用javaScript的encodeURI()进行两次URL编码(不管是POST的数据还是G

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。