网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/15 浏览:3 次 )
复制代码 代码如下:
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;
});

}
}
}
上一篇:利用 Linq+Jquery+Ajax 实现异步分页功能可简化带宽压力
下一篇:php+ajax实现带进度条的大数据排队导出思路以及源码