首页 > 开发 > AJAX > 正文

ajax的定时调用每5秒调用一次

2024-09-01 08:32:46
字体:
来源:转载
供稿:网友
这篇文章主要介绍了关于ajax的定时调用,本例为每5秒调用一次,大家可以根据自己的需求更改

复制代码 代码如下:


function initXMLRequest(){
if (window.ActiveXObject) {
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
if (window.XMLHttpRequest) {
xmlRequest = new XMLHttpRequest();
}
}

}

function sendHTTPRequest(){
initXMLRequest();
var url = "monitor!taskdata.action"; //调用的servlet
if (xmlRequest) {
xmlRequest.open("POST", url, true);
xmlRequest.send(null);
xmlRequest.onreadystatechange = isDataExists;
//使用方法回调,每5秒调用一次
setTimeout("sendHTTPRequest()",5000);
}

}

function isDataExists(){
if (xmlRequest.readyState == 4) {
if (xmlRequest.status == 200) {
var data = eval("("+xmlRequest.responseText+")");
// 获取tbody的表格内容
var taskTable = document.getElementById("tasktbody");
for(var i=taskTable.childNodes.length-1;i>=0;i--){
taskTable.removeChild(taskTable.childNodes[i]);
}
$.each(data, function(i,val){

var newTR = taskTable.insertRow(taskTable.rows.length);
newTR.id="taskdata_"+(i+1);
newTR.ondblclick=getdetail;
newTR.onclick=selectRow;
backColor(val.taskstatus,newTR);

var newNameTD=newTR.insertCell(0);
newNameTD.innerHTML = val.taskname;
newNameTD.id="taskname_"+(i+1);

var newStatusTD=newTR.insertCell(1);
newStatusTD.innerHTML = val.taskstatus;
newStatusTD.id="taskstatus_"+(i+1);

var newArgTD=newTR.insertCell(2);
newArgTD.innerHTML = val.data_start_time;

var newOtherArgTD=newTR.insertCell(3);
newOtherArgTD.innerHTML = val.schedule_interval;

var newdateformatTD=newTR.insertCell(4);
newdateformatTD.innerHTML = val.next_execution_time;

var newbackwordTD=newTR.insertCell(5);
newbackwordTD.innerHTML = val.taskdetailscount;

var newpriorityTD=newTR.insertCell(6);
newpriorityTD.innerHTML = val.statusruncount;

var newleftTD=newTR.insertCell(7);
newleftTD.innerHTML = val.statusfinishcount;

var newlefttimeTD=newTR.insertCell(8);
newlefttimeTD.innerHTML = val.statuserrorcount;
});

}
}
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表