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 相关文章推荐
将HTML格式的String转化为HTMLElement的实现方法
Aug 07 Javascript
PHPExcel中的一些常用方法汇总
Jan 23 Javascript
jQuery的bind()方法使用详解
Jul 15 Javascript
javascript中的作用域和闭包详解
Jan 13 Javascript
javascript每日必学之条件分支
Feb 17 Javascript
js获取新浪天气接口的实现代码
Jun 06 Javascript
Node.js中路径处理模块path详解
Nov 14 Javascript
如何解决vue与传统jquery插件冲突
Mar 20 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 Javascript
JavaScript惰性求值的一种实现方法示例
Jan 11 Javascript
javascript面向对象创建对象的方式小结
Jul 29 Javascript
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
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
第三节 定义一个类 [3]
2006/10/09 PHP
用php和MySql来与ODBC数据连接
2006/10/09 PHP
PHP 数据库树的遍历方法
2009/02/06 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
JavaScript 给汉字排序实例代码
2008/06/28 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
Python实时获取cmd的输出
2015/12/13 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
2018/08/07 Python
使用Python实现分别输出每个数组
2019/12/06 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
社团招新策划书
2014/02/04 职场文书
中职生自荐信范文
2014/06/15 职场文书
2015年库房管理工作总结
2015/10/14 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA