jquery中ajax学习笔记4


Posted in Javascript onOctober 16, 2011

缓存问题:
何谓缓存问题?即当浏览器的输入内容相同,即请求的URL相同,这样浏览器就会去读缓存,两次的内容一样,就不会和服务器端进行交互。
解决方式:在请求的url中加上时间戳。
通过我的测试,IE、360两次用户名输入一致时不会和服务器端交互,firefox即使两次用户名输入的一样,仍然会和服务器端交互。
即:firefox的中服务器端返回的temp值会每次加1,IE、360就不会改变。故加上时间戳在这三种浏览器中都不会再有缓存问题。
修改的代码:
AJAXServer.java
缓存问题

//缓存问题加的测试代码 输入内容不变IE、360次数不增加,firefox会增加 
Integer inte= (Integer) request.getSession().getAttribute("total"); 
int temp=0; 
if(inte==null){ 
temp=1; 
}else{ 
temp=inte.intValue()+1; 
} 
request.getSession().setAttribute("total",temp);

在AJAXServer.java 加入以上代码,同时out.println的时候把temp变量加进去返回给客户端。
这样,如果客户端的temp值加入,就表示客户端和服务器端进行了交互,否则就没有。
verify.js
<!--缓存问题,用时间戳来解决--> 
//给url地址增加时间戳,骗过浏览器,不读取缓存 
function convertURL(url){ 
//获取时间戳 
var timestamp=(new Date().valueOf()); 
//将时间戳信息拼接到url上 
//url=“AJAXServer” 
if(url.indexOf("?")>=0){ 
url=url+"&t="+timestamp; 
}else{ 
url=url+"?t="+timestamp; 
} 
return url; 
} 
function verifyCache(){ 
var url="AJAXServer?name="+$("#username").val(); 
url=convertURL(url); //缓存 
$.get(url,null,function(data){ 
$("#result").html(data); 
}); 
}

由于只是问了验证和介绍缓存问题,为了便于说明问题,故采用的校验方式是jquery封装ajax接收服务器端文本数据。
》》》同样,别忘记了修改ajax.html中调用的方法,名称改为上述脚本中的verifyCache()
中文问题:
有两种解决方式:
第一种:页面端使用一次encodeURI,服务器端用String name=new String(old.getBytes("iso8859-1"),"UTF-8");
中文1
function verifychinese1{ 
var url="AJAXServer?name="+encodeURI($("#username").val()); 
url=convertURL(url); //缓存 
$.get(url,null,function(data){ 
$("#result").html(data); 
}); 
》》》在verify.js中加入上述方法,同时把 
String name=new String(old.getBytes("iso8859-1"),"UTF-8");

加入到AJAXServer.java类中的适当的位置。比如放在PrintWriter这句代码后面就可以。
同样,用第一种方式时,别忘记了修改ajax.html中调用的方法,名称改为上述脚本中的verifychinese1()
第二种:页面端使用两次encodeURI,服务器端用String name= URLDecoder.decode(old,"UTF-8");
中文2
function verifychinese2(){ 
var url="AJAXServer?name="+encodeURI(encodeURI($("#username").val())); 
url=convertURL(url); //缓存 
$.get(url,null,function(data){ 
$("#result").html(data); 
}); 
} 
》》》在verify.js中加入上述方法,同时把 
String name= URLDecoder.decode(old,"UTF-8");

加入到AJAXServer.java类中的适当的位置。比如放在PrintWriter这句代码后面就可以。
同样,用第二种方式时,别忘记了修改ajax.html中调用的方法,名称改为上述脚本中的verifychinese2()
需要源码的可以留言。
通过几天的学习,ajax的动态的验证基本有所了解,后续会根据情况增加相应的内容。
Javascript 相关文章推荐
Using the TextRange Object
Oct 14 Javascript
JS图片自动轮换效果实现思路附截图
Apr 30 Javascript
javascript几个易错点记录
Nov 26 Javascript
jQuery中document与window以及load与ready 区别详解
Dec 29 Javascript
玩转JavaScript OOP - 类的实现详解
Jun 08 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
Dec 02 Javascript
基于vue.js实现侧边菜单栏
Mar 20 Javascript
浅析vue深复制
Jan 29 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
Sep 14 Javascript
用npm-run实现自动化任务的方法示例
Jan 14 Javascript
vue中 数字相加为字串转化为数值的例子
Nov 07 Javascript
Ajax常用封装库——Axios的使用
May 08 Javascript
jquery中ajax学习笔记3
Oct 16 #Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
Oct 16 #Javascript
jquery中ajax学习笔记一
Oct 16 #Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
Oct 16 #Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
Oct 14 #Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
Oct 13 #Javascript
获取body标签的两种方法
Oct 13 #Javascript
You might like
在 PHP 中使用随机数的三个步骤
2006/10/09 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
cssQuery()的下载与使用方法
2007/01/12 Javascript
JavaScript 事件参考手册
2008/12/24 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
zepto.js 实时监听输入框的方法
2018/12/04 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
对于Python中RawString的理解介绍
2016/07/07 Python
python操作excel的包(openpyxl、xlsxwriter)
2018/06/11 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
jupyter notebook 中输出pyecharts图实例
2020/04/23 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
会计专业个人求职信范文
2014/01/08 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
企业党建工作汇报材料
2014/08/19 职场文书
庆六一活动总结
2014/08/29 职场文书
汽车4S店销售经理岗位职责
2015/04/02 职场文书
学术会议领导致辞
2015/07/29 职场文书
健康教育主题班会
2015/08/14 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers