prototype与jquery下Ajax实现的差别


Posted in Javascript onSeptember 13, 2009

先列举一下Ajax在Jquery和prototype中的实现。
Jquery:

<script language="javascript"> 
$(function(){ 
var box = {}; 
var remoteUrl = 'index.php'; 
box.interval = 5*60*1000;//5分钟 
box.showBoxInfo = function() { 
jQuery.get(remoteUrl, function(data){ 
var msg_box = $('#msg_box'); 
msg_box.innerHTML = data; 
} 
}); 
} 
box.run = function(){ 
this.showBoxInfo(); 
setInterval(this.showBoxInfo,this.interval); 
}; 
box.run(); 
}) 
</script>

prototype:
<script language="javascript"> 
var box = {}; 
box.interval = 5*60*1000;//5分钟 
box.showBoxInfo = function(){ 
var pars = ""; 
var remoteUrl = 'index.php'; 
var myAjax = new Ajax.Request( 
remoteUrl, 
{ 
method: 'get', 
parameters: pars, 
onComplete: box.showResponse 
}); 
}; 
box.showResponse = function(data){ 
var msg_box = $("msg_box") ; 
msg_box.innerHTML = data.responseText; 
}; 
box.run = function(){ 
this.showBoxInfo(); 
setInterval(this.showBoxInfo,this.interval); 
}; 
box.run(); 
</script>

实际在引入setInterval函数后prototype却不能刷新,这是为什么呢?
原来是prototype对于相同的URL有缓存机制,应此不能刷新页面,特别是在用户使用F5或点击“刷新”后,会出现Ajax响应区空白的bug,这样就必须让prototype不刷新。
对于prototype中的URL添加随机数
原:var remoteUrl = 'index.php';
修改后:var remoteUrl = 'index.php?rand='+Math.random();
使用GET方式产生一个与页面显示无关的参数即可。
Javascript 相关文章推荐
jQuery ajax调用WCF服务实例
Jul 16 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
Oct 10 Javascript
AngularJS 中的事件详解
Jul 28 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
BootStrap实现带关闭按钮功能
Feb 15 Javascript
input输入框内容实时监测(附代码)
Aug 15 Javascript
浅谈Vue 初始化性能优化
Aug 31 Javascript
webpack external模块的具体使用
Mar 10 Javascript
浅谈node.js 命令行工具(cli)
May 10 Javascript
validform表单验证的实现方法
Mar 08 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 Javascript
JavaScript代码简化技巧实例解析
Sep 09 Javascript
JS 参数传递的实际应用代码分析
Sep 13 #Javascript
javascript类继承机制的原理分析
Sep 12 #Javascript
javascript 类定义的4种方法
Sep 12 #Javascript
一个简单的javascript类定义例子
Sep 12 #Javascript
一个简单的JavaScript 日期计算算法
Sep 11 #Javascript
关于javascript 回调函数中变量作用域的讨论
Sep 11 #Javascript
javascript 一些用法小结
Sep 11 #Javascript
You might like
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
jQuery使用prepend()方法在元素前添加内容用法实例
2015/03/26 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
JavaScript实现多层颜色选项卡嵌套
2020/09/21 Javascript
Python装饰器使用示例及实际应用例子
2015/03/06 Python
python实现文件快照加密保护的方法
2015/06/30 Python
Python Logging 日志记录入门学习
2018/06/02 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
物业经理求职自我评价
2013/09/22 职场文书
森林防火工作方案
2014/02/14 职场文书
计算机维护专业推荐信
2014/02/27 职场文书
小学生作文评语大全
2014/04/21 职场文书
保护环境倡议书500字
2014/05/19 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
2014年团支部工作总结
2014/11/17 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技
基于Redission的分布式锁实战
2022/08/14 Redis
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS