我需要在一分钟后调用一个函数并更新div
。
基本上我需要刷新页面,因为表中有新条目,所以我认为Ajax会在一分钟后调用并更新内容。请告诉我这是否正确?
答案 0 :(得分:1)
如果您需要每隔60秒运行一次该功能,可以使用setInterval()
:
setInterval(function() {
/* AJAX call here. */
}, 60000);
如果您只需要运行一次,则可以使用setTimeout()
:
setTimeout(function() {
/* AJAX call here. */
}, 60000);
对于两者,60,000是毫秒延迟(60,000ms = 1分钟)。
答案 1 :(得分:1)
除了使用setInterval
之外,你可以执行一个60秒(60000毫秒)的setTimeout
,只有在前一个调用成功完成时才能进行ajax调用(因此,作为例子) ,如果您的服务器为给定资源返回404或500状态,则可以避免进行无用的ajax调用)
var xhr = new XMLHttpRequest();
function doAjaxCall() {
...
xhr.onReadyStateChange = function() {
...
if (xhr.readyState === 4) {
if (xhr.status === 200 || xhr.status === 304) {
setTimeout(doAjaxCall, 60000);
}
}
}
}
doAjaxCall();
答案 2 :(得分:0)
setTimeout()和它的兄弟setInterval()
setTimeout - 调用一次
setInterval - 每隔指定的时间间隔调用
示例:
setTimeout(function() { doStuffOnce(); }, 1000);
setInterval(function() { doStuff(); }, 1000);
答案 3 :(得分:0)
如果您只需要等待AJAX完成,那么您就不应该使用固定的超时。如果AJAX调用超过一分钟会发生什么?如果AJAX调用在一秒左右完成(通常情况下),为什么要让用户等待整整一分钟(这是永远在浏览器中)。相反,只需使用AJAX调用本身的回调,例如
$("/url/to/your/AJAX").done(function(data) {
// do what you need to do with the data now
})
答案 4 :(得分:0)
你可以同时使用两者 setTimeout()方法在指定的毫秒数后调用函数或计算表达式。
的setTimeout(代码,毫秒,朗)
代码必填。将要执行的功能 millisec 必填。执行代码之前等待的毫秒数 lang 可选。脚本语言:JScript | VBScript | JavaScript
setInterval()方法以指定的时间间隔(以毫秒为单位)调用函数或计算表达式。
setInterval()方法将继续调用该函数,直到调用clearInterval()或窗口关闭。
setInterval()返回的ID值用作clearInterval()方法的参数。
提示:1000毫秒= 1秒。
的setInterval(代码,毫秒,朗)
代码必填。将要执行的功能 millisec 必填。关于执行代码的频率的间隔(以毫秒为单位) lang 可选。 JScript | VBScript |的JavaScript