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 相关文章推荐
JavaScript XML和string相互转化实现代码
Jul 04 Javascript
基于Jquery的开发个代阴影的对话框效果代码
Jul 28 Javascript
Javascript实现视频轮播在pc端与移动端均可
Sep 29 Javascript
基于Javascript实现弹出页面效果
Jan 01 Javascript
jquery简单插件制作(fn.extend)完整实例
May 24 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
Jul 06 Javascript
web打印小结
Jan 11 Javascript
Vue单文件组件基础模板小结
Aug 10 Javascript
node.js-v6新版安装具体步骤(分享)
Sep 06 Javascript
JS使用正则表达式判断输入框失去焦点事件
Oct 16 Javascript
解决小程序无法触发SESSION问题
Feb 03 Javascript
JavaScript canvas实现跟随鼠标事件
Feb 10 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
第十三节--对象串行化
2006/11/16 PHP
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
javascript作用域和闭包使用详解
2014/04/25 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
python自动格式化json文件的方法
2015/03/11 Python
Python 2.x如何设置命令执行的超时时间实例
2017/10/19 Python
pow在python中的含义及用法
2019/07/11 Python
Python 高效编程技巧分享
2020/09/10 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
单位人事专员介绍信
2014/01/11 职场文书
励志演讲稿大全
2014/08/21 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
2015年创先争优工作总结
2015/05/23 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python