2017-09-25 94 views
0

我目前正试图让我的AJAX在文档每20秒加载并运行时工作。我如何去做这件事?我已经让它每20秒工作一次,但无法在文档加载时使它工作。任何帮助都会很棒。AJAX以设定的时间间隔运行onload并且以设定的时间间隔

<script type="text/javascript" language="javascript"> 
window.setInterval(function(){ 

var jobid = $('#jobid').text(); 
var filename = $('#filename').text(); 


    $.ajax({ 
     url: "../progress_bar.php", 
     type:'POST', 
     data: {"value1": jobid, "value2": filename}, 
     dataType: 'json', 
     success: function(responce){ 
       $("#progress").html(responce); 
      } // End of success function of ajax form 
     }); // End of ajax call 

    }, 20000); 

</script> 

由于

+0

因此,创建一个函数并调用它....并设置它的间隔.... – epascarello

回答

2

对AJAX请求的一个应该总是使用代替间隔递归超时(导致请求可以持续更长的时间,则时间间隔,所以有在其作出多个请求),这也解决了主要问题:

//may wrap the whole thing into an onload listener 
(function update(){ 
    $.ajax({ 
    url: "../progress_bar.php", 
    type:'POST', 
    data: {"value1": jobid, "value2": filename}, 
    dataType: 'json', 
    success: function(responce){ 
      $("#progress").html(responce); 
      //update again in 20secs: 
      setTimeout(update, 20000); 
     } 
    }); 

})(); //start immeadiately 

小演示:

console.log("load"); 
 
(function next(){ 
 
    console.log("run"); 
 
    setTimeout(next, 1000); 
 
})()