gpt4 book ai didi

javascript - AJAX 在加载时按设定的时间间隔运行

转载 作者:行者123 更新时间:2023-12-01 03:01:22 25 4
gpt4 key购买 nike

我目前正在尝试让我的 AJAX 在文档每 20 秒加载并运行一次时工作。我该怎么做呢?我让它每 20 秒工作一次,但在文档加载时无法让它工作。任何帮助都会很棒。

<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>

谢谢

最佳答案

对于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);
})()

关于javascript - AJAX 在加载时按设定的时间间隔运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46410628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com