在我的代码中,我需要使用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)
谢谢