ajax的定时调用每5秒调用一次
2014-08-05来源:

这篇文章主要介绍了关于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;

});

}

}

}

更多信息请查看IT技术专栏

推荐信息
Baidu
map