prototype与jquery下Ajax实现的差别

 更新时间:2009年09月13日 21:28:56   作者:  
Ajax技术在web中应用的相当广泛,最近项目需要用到Ajax,由于主站所用的是Jquey,而某个栏目的开发用的是prototype,这样一来就必须对JS代码做调整了。
先列举一下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方式产生一个与页面显示无关的参数即可。

相关文章

  • 购物车选中得到价格实现示例

    购物车选中得到价格实现示例

    本文为大家介绍下购物车如何实现选中得到价格,下面有个不错的示例,大家可以参考下
    2014-01-01
  • js 实现碰撞检测的示例

    js 实现碰撞检测的示例

    这篇文章主要介绍了js 实现碰撞检测的示例,帮助大家更好的制作js特效,美化自身网页,感兴趣的朋友可以了解下
    2020-10-10
  • js实现简单选项卡制作

    js实现简单选项卡制作

    这篇文章主要为大家详细介绍了js实现简单选项卡制作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • JavaScript去除字符串两端空格的三种方法

    JavaScript去除字符串两端空格的三种方法

    本文主要介绍了JavaScript去除字符串两端空格的三种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • TypeScript中的类型运算符实现

    TypeScript中的类型运算符实现

    TypeScript 是一种强类型语言,它通过使用类型运算符来强化类型安全性,本文主要介绍了TypeScript中的类型运算符实现,感兴趣的可以了解一下
    2023-10-10
  • JavaScript实现旋转木马轮播图

    JavaScript实现旋转木马轮播图

    这篇文章主要为大家详细介绍了JavaScript实现旋转木马轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Eval and new funciton not the same thing

    Eval and new funciton not the 

    以前有人会说,new Function的方式是几乎与eval相等,今天我查了一下,确实是不同的东西,说这句话的人太不负责了。关于eval和new function,得到的结果都是一致的,都会叫你不要去使用它们。所以结论就是“不得不”才使用
    2012-12-12
  • js和jquery中获取非行间样式

    js和jquery中获取非行间样式

    本篇文章主要介绍了js和jquery中获取非行间样式的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • php结合js实现多条件组合查询

    php结合js实现多条件组合查询

    这篇文章主要为大家详细介绍了php结合js实现多条件组合查询,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • js实现base64文件的处理以及下载方法

    js实现base64文件的处理以及下载方法

    Base64是一种将二进制数据编码为ASCII字符的编码方式,这篇文章主要给大家介绍了关于js实现base64文件的处理以及下载的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07

最新评论