我需要在一分鐘後調用一個函數並更新div
。什麼是一段時間後自動調用JavaScript函數的正確方法?
基本上我需要刷新頁面,因爲新條目出現在表格中,所以我認爲是Ajax調用並在一分鐘後更新內容。請告訴我這是否正確?
我需要在一分鐘後調用一個函數並更新div
。什麼是一段時間後自動調用JavaScript函數的正確方法?
基本上我需要刷新頁面,因爲新條目出現在表格中,所以我認爲是Ajax調用並在一分鐘後更新內容。請告訴我這是否正確?
如果您需要每60秒運行功能,您可以使用setInterval()
:
setInterval(function() {
/* AJAX call here. */
}, 60000);
如果你只需要它來只運行一次,您可以使用setTimeout()
:
setTimeout(function() {
/* AJAX call here. */
}, 60000);
對於兩者,60,000是毫秒延遲(60,000ms = 1分鐘)。
感謝詹姆斯的工作 – bonjour
setTimeout()和它的兄弟setInterval()
的setTimeout - 再次呼籲
的setInterval - 把任何指定的時間間隔
例子:
setTimeout(function() { doStuffOnce(); }, 1000);
setInterval(function() { doStuff(); }, 1000);
如果所有你需要做的正在等待r AJAX完成,那麼你不應該使用固定的超時。如果AJAX呼叫需要一分鐘以上,會發生什麼情況?如果AJAX呼叫在一秒鐘內完成(通常是這樣),爲什麼讓用戶等待一整分鐘(這永遠在瀏覽器中)。相反,只需使用AJAX呼叫本身的回叫,例如
$("/url/to/your/AJAX").done(function(data) {
// do what you need to do with the data now
})
我認爲他打算髮射ajax調用一分鐘後:-) – Bergi
而不是使用setInterval
你可以執行setTimeout
60的秒(60000毫秒),以使只有在以前的調用已成功完成(Ajax調用所以,舉例來說,你可以避開功能使無用的ajax調用,如果你的服務器對於給定的資源返回一個404種或500種狀態)
var xhr = new XMLHttpRequest();
function doAjaxCall() {
...
xhr.onReadyStateChange = function() {
...
if (xhr.readyState === 4) {
if (xhr.status === 200 || xhr.status === 304) {
setTimeout(doAjaxCall, 60000);
}
}
}
}
doAjaxCall();
Youy可以同時使用 的setTimeout()方法調用函數或指定的毫秒數後計算表達式。
的setTimeout(代碼,毫秒,朗)
代碼必需。將執行的功能 millisec必需。執行代碼之前要等待的毫秒數 lang可選。腳本語言:JScript | VBScript | JavaScript
setInterval()方法以指定的時間間隔(以毫秒爲單位)調用函數或計算表達式。
setInterval()方法將繼續調用該函數,直到調用clearInterval(),或者窗口關閉。
setInterval()返回的ID值用作clearInterval()方法的參數。
提示:1000 ms = 1秒。
的setInterval(代碼,毫秒,朗)
代碼必需。將執行的功能 millisec必需。執行代碼的頻率間隔(以毫秒爲單位) lang可選。 JScript | VBScript | JavaScript
請鏈接您引用的頁面。用'>'縮進引用。 – Bergi
使用['setTimeout'](https://developer.mozilla.org/en-US/docs/Talk:DOM/window.setTimeout) – Bergi