小编joh*_*swr的帖子

使用jquery在基于ajax的轮询中使用setTimeout的问题

在我的代码中,我需要使用ajax每5秒后轮询一个url.URL返回json响应.下面是我在$(document).ready中编写的代码.但是,setTimeout()函数不起作用.收到响应后立即调用startPoll()函数.我希望在收到响应后暂停5秒钟,然后再次调用startPoll函数.有任何解决这个问题的方法吗 ?

$(document).ready(function(){


   var startPoll = function() {
         $.post('<url>', {},onPollRequestComplete, 'json');

   }

   var onPollRequestComplete = function(response) {

        responseObject = eval(response);

        if(responseObject.success) {
            //Do something here
        }

        setTimeout(startPoll(),5000); /*Make next polling request after 5 seconds*/         

}

startPoll();

});
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript jquery

0
推荐指数
1
解决办法
2643
查看次数

标签 统计

javascript ×1

jquery ×1