在我的代碼中,我需要每隔5秒使用ajax輪詢一次url。 URL返回一個json響應。以下是我在$(document).ready內部編寫的代碼來執行此操作。但是,setTimeout()函數不起作用。在收到響應後立即調用startPoll()函數。我希望在接收到響應之後停止5秒鐘,然後再次調用startPoll函數。有任何解決這個問題的方法嗎 ?使用jquery在基於ajax的輪詢中使用setTimeout問題
$(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();
});
謝謝
感謝Magnar,修復它!:) – johnswr 2009-12-06 12:01:45