ajax.request和ajax.periodicalupdate用法讲解

Ajax.periodicalupdater:
含义:每隔一段时间对服务器请求,主要是用来前台页面想实时的显示后台的数据。举一个简单例子:
人人网页面右下角的提醒功能。这个功能就要求实时的监控看时候有人和你对话,如果当前有人和你对话,那就要弹出或者亮点显示头像,引起你的注意。
注意的问题:
这个对象初始化时候需要三个参数:
格式如下:
new Ajax.PeriodicalUpdater(container, url, options)
container:prototype中说是容器的名字,但是我觉得我们最好不要用。直接给他赋个字符串就可以了。注意这个字符串不是页面中某个元素的id。
url:你要请求服务器路径。他默认要求是绝对路径。我测试了一下。即使你写相对路径,他也按照绝对路径去找。
所以写这个请求路径的时候要写绝对路径。这个是要注意的。
Options:
Ajax 命名空间中的所有请求对象都共享一系列公共的选项和回调函数。 回调函数在请求生命周期的各个阶段被调用,并且它们具有相同的参数列表。在请求期间,参数所包括的选项被不断的传递到请求中。 想了解详细可以看一下prototype1.5开发文档。里面很详细。
对于ajax。Periodicalupdater我们只需要用到四个参数即可:
Parameters:传递请求的参数,这个参数必须是要用js函数encodeURI函数进行处理。
Frequency:请求的频率,单位是秒。每隔几秒访问一次请求。
Decay:当响应内容无变化时,控制请求时间间隔的增长比率,单位是1,默认是1秒。
如果你设置成1.5秒,频率是5秒,如果响应内容无变化的时候,下次访问的时间是7.5秒。
以此类推。
onSuccess:请求成功的回调函数,一般的格式是onSuccess:function(reponse){rresponse.responseText};返回内容。
什么时候用:
这个当然是在你需要哪个页面要进行监控就在哪个页面用到。
因为是加载页面就要监听,所以可以直接在script中声明一个变量来初始化他,
实际上初始化的时候就已经执行了。


如下
var remidChage = function (){
var financemanageURL = "tel=10000002&date=20101221";
alert(financemanageURL);
ajaxObj = new Ajax.PeriodicalUpdater('ReMind','<%=basePath%>financemanage/remind/ReMindList.do',{
parameters : financemanageURL,
frequency: 5,
decay: 1,
onSuccess : function(response) {
isLSX(response.responseText);
}
});
}
经常需要用到的函数说明:
clearInterval:参数是setinterval的返回值,主要作用就是停止周期性的执行工作。
setInterval:两个参数,第一个参数是可以有两种方式。第二个参数是时间,单位是毫秒。
两个例子:
  1 var int=self.setInterval("clock()",1000)  
 function clock(){var t=new Date()   
document.getElementById("clock").value=t   }
2
czbh = setInterval(function(){
if(clockObj.dbc==1){
clockObj.style.color="#FF0000";
clockObj.dbc = 2;
}else{
clockObj.style.color="#FFFFFF";
} },400);

Settimeout:
定义和用法:   
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式。   
语法:   setTimeout(code,millisec)   
参数:   code (必需):要调用的函数后要执行的 JavaScript 代码串。   
millisec(必需):在执行代码前需等待的毫秒数。  
提示:   setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout()。

eval:参数是字符串,这个函数可以把字符串当作js来执行,然后返回结果。个人非常喜欢这个函数
例子:
Var xx = Eval(‘2+2’) ;
Xx的值是4
var your_object = eval([{name:’tom’,age:10},{name:’dog’,age:12}]);
your_object.length 是2
your_object[0].name的值是tom

Ajax.request:
对服务器进行一次请求,只是一次请求,而且不会主动的请求,需要你触发。
简单的说,需要你调用函数去触发,所以这个对象一般是在一个函数中初始化。举一个简单的例子,市级级联显示例子。
如果你显示省份要自动带出这个省份内的城市。
这个请求则就应该是你选择相应省份的时候触发,有可能是onchange或者onblur
事件。
格式如下:
New ajax.request(url,options);
url:是绝对路径
optins是个对象。里面定义一些ajax的公用选项和回调函数。
具体可以参考prototype开发文档
一般来说。我们初始ajax.request只需要两个公用选项即可:
Parameters:请求的参数,这个参数必须要经过js的encodeURI函数进行编码。
然后定义个回调函数
onSuccess或者是onComplete
这个两个函数任意一个都可以。具体可以参考ajax。Periodicalupdate
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值