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 相关文章推荐
一页面多XMLHttpRequest对象
Jan 22 Javascript
javascript 45种缓动效果 非常酷
Jun 28 Javascript
Jquery绑定事件(bind和live的区别介绍)
Aug 23 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
Apr 16 Javascript
异步安全加载javascript文件的方法
Jul 21 Javascript
js+canvas简单绘制圆圈的方法
Jan 28 Javascript
BootStrap制作导航条实例代码
May 06 Javascript
node.js文件上传重命名以及移动位置的示例代码
Jan 19 Javascript
Vue实现左右菜单联动实现代码
Aug 12 Javascript
vue axios数据请求及vue中使用axios的方法
Sep 10 Javascript
vuex actions传递多参数的处理方法
Sep 18 Javascript
VUE中使用MUI方法
Feb 12 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
个人站长制做网页常用的php代码
2007/03/03 PHP
php函数指定默认值方法的小例子
2013/12/04 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
js类中的公有变量和私有变量
2008/07/24 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
2013/11/12 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
sails框架的学习指南
2014/12/22 Javascript
jQuery中attr()方法用法实例
2015/01/05 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
Python3 socket同步通信简单示例
2017/06/07 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
django模板结构优化的方法
2019/02/28 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
类的返射机制中的包及核心类
2016/09/12 面试题
应聘护士自荐信
2013/10/21 职场文书
图书馆标语
2014/06/19 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
公司员工活动策划方案
2014/08/20 职场文书
售房委托书
2014/08/30 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
酒店员工手册范本
2015/05/14 职场文书
高一化学教学反思
2016/02/22 职场文书
《鲸》教学反思
2016/02/23 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书