ajax的定時(shí)調(diào)用每5秒調(diào)用一次

字號(hào):


    這篇文章主要介紹了關(guān)于ajax的定時(shí)調(diào)用,本例為每5秒調(diào)用一次,大家可以根據(jù)自己的需求更改
    代碼如下:
    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"; //調(diào)用的servlet
    if (xmlRequest) {
    xmlRequest.open("POST", url, true);
    xmlRequest.send(null);
    xmlRequest.onreadystatechange = isDataExists;
    //使用方法回調(diào),每5秒調(diào)用一次
    setTimeout("sendHTTPRequest()",5000);
    }
    }
    function isDataExists(){
    if (xmlRequest.readyState == 4) {
    if (xmlRequest.status == 200) {
    var data = eval("("+xmlRequest.responseText+")");
    // 獲取tbody的表格內(nèi)容
    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;
    });
    }
    }
    }