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 相关文章推荐
JavaScript的document对象和window对象详解
Dec 30 Javascript
浅析用prototype定义自己的方法
Nov 14 Javascript
详谈javascript中的cookie
Jun 03 Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 Javascript
利用css+原生js制作简单的钟表
Apr 07 Javascript
微信小程序 实战程序简易新闻的制作
Jan 09 Javascript
JS实现身份证输入框的输入效果
Aug 21 Javascript
给vue项目添加ESLint的详细步骤
Sep 29 Javascript
JS实现显示当前日期的实例代码
Jul 03 Javascript
layui实现左侧菜单点击右侧内容区显示
Jul 26 Javascript
layui原生表单验证的实例
Sep 09 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
Sep 25 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
第九节--绑定
2006/11/16 PHP
PHP 数组基础知识小结
2010/08/20 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
Yii把CGridView文本框换成下拉框的方法
2014/12/03 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
JQuery for与each性能比较分析
2013/05/14 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
纯前端JavaScript实现Excel IO案例分享
2016/08/26 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
js+css3实现炫酷时钟
2020/08/18 Javascript
Python实现分割文件及合并文件的方法
2015/07/10 Python
Python运算符重载详解及实例代码
2017/03/07 Python
Python实现的密码强度检测器示例
2017/08/23 Python
python感知机实现代码
2019/01/18 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
python目标检测给图画框,bbox画到图上并保存案例
2020/03/10 Python
Python Json数据文件操作原理解析
2020/05/09 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
写好自荐信的技巧
2013/11/08 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
治庸问责心得体会
2014/09/12 职场文书
家庭贫困证明
2015/06/16 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python