主要的js代码如下:
// 倒计时
var beginTime="30";
function DoConverseCallTimer(){
beginTime=parseInt(beginTime,10)-1;
if(beginTime<0){
window.clearTimeout(timer);
}else{
$('displayTime').innerText=beginTime;
timer1= window.setTimeout("DoConverseCallTimer()",1000);
}
}
}
// 取消请求状态
function callInProgress (xmlhttp) {
switch (xmlhttp.readyState) {
case 1: case 2: case 3:
return true;
break;
default:
return false;
break;
}
}
// 显示超时错误信息
function showFailureMessage(){
alert('系统繁忙,请稍候再试!');
}
var handle={
onCreate: function(request) {
// 当创建Ajax请求时,显示loading
Element.show('loading');
// 启动倒计时
DoConverseCallTimer();
request['timeoutId'] = window.setTimeout(
function() {
if (callInProgress(request.transport)) {
request.transport.abort();
showFailureMessage();
}
},
30000 // thirty seconds
);
},
onComplete: function(request) {
if(Ajax.activeRequestCount==0){
Element.hide('loading');
}
window.clearTimeout(request['timeoutId']);
window.clearTimeout(timer);
}
onException: function(request){
if(Ajax.activeRequestCount==0){
Element.hide('loading');
}
window.clearTimeout(request['timeoutId']);
window.clearTimeout(timer);
}
}
// 将handle注册到合局Ajzx.Responders对象,使其生效
Ajax.Responders.register(handle);
// 倒计时
var beginTime="30";
function DoConverseCallTimer(){
beginTime=parseInt(beginTime,10)-1;
if(beginTime<0){
window.clearTimeout(timer);
}else{
$('displayTime').innerText=beginTime;
timer1= window.setTimeout("DoConverseCallTimer()",1000);
}
}
}
// 取消请求状态
function callInProgress (xmlhttp) {
switch (xmlhttp.readyState) {
case 1: case 2: case 3:
return true;
break;
default:
return false;
break;
}
}
// 显示超时错误信息
function showFailureMessage(){
alert('系统繁忙,请稍候再试!');
}
var handle={
onCreate: function(request) {
// 当创建Ajax请求时,显示loading
Element.show('loading');
// 启动倒计时
DoConverseCallTimer();
request['timeoutId'] = window.setTimeout(
function() {
if (callInProgress(request.transport)) {
request.transport.abort();
showFailureMessage();
}
},
30000 // thirty seconds
);
},
onComplete: function(request) {
if(Ajax.activeRequestCount==0){
Element.hide('loading');
}
window.clearTimeout(request['timeoutId']);
window.clearTimeout(timer);
}
onException: function(request){
if(Ajax.activeRequestCount==0){
Element.hide('loading');
}
window.clearTimeout(request['timeoutId']);
window.clearTimeout(timer);
}
}
// 将handle注册到合局Ajzx.Responders对象,使其生效
Ajax.Responders.register(handle);