ajax学习笔记4
摘要: 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变量加进去返回给客户端。
// 给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接收服务器端文本数据。 function verifychinese1(){ var url="AJAXServer?name="+encodeURI($("#username").val()); url=convertURL(url); // 缓存 $.get(url,function(data){ $("#result").html(data); }); } 》》》在verify.js中加入上述方法,同时把 function verifychinese2() { var url = "AJAXServer?name=" + encodeURI(encodeURI($("#username").val())); url = convertURL(url); // 缓存 $.get(url,function(data) { $("#result").html(data); }); }} 》》》在verify.js中加入上述方法,同时把 String name= URLDecoder.decode(old,"UTF-8"); 加入到AJAXServer.java类中的适当的位置。比如放在PrintWriter这句代码后面就可以。 同样,用第二种方式时,别忘记了修改ajax.html中调用的方法,名称改为上述脚本中的verifychinese2() 需要源码的可以留言。 通过几天的学习,ajax的动态的验证基本有所了解,后续会根据情况增加相应的内容。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |