ajax的定时调用每5秒调用一次
            网络编程 发布日期:2025/11/4 浏览次数:1
         
        
            正在浏览: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; 
}); 
} 
} 
}