我正在学习jQuery,并试图找到一个简单的代码示例,它将轮询一个条件的API。(例如,每隔几秒钟请求一个网页并处理结果)
我很熟悉如何在jQuery中使用AJAX,但我似乎找不到让它在“计时器”上执行的“适当”方法。
发布于 2011-07-27 04:02:36
function doPoll(){
$.post('ajax/test.html', function(data) {
alert(data); // process results here
setTimeout(doPoll,5000);
});
}
发布于 2012-06-27 16:02:58
这是一个使用jQuery的(archive.org镜像) helpful article on long polling (长时间持有的HTTP请求)。从本文派生的代码片段:
(function poll() {
setTimeout(function() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: poll,
timeout: 2000
})
}, 5000);
})();
这将仅在ajax请求完成后发出下一个请求。
上面的一个变体,它将在第一次调用它时立即执行,然后遵守等待/超时间隔。
(function poll() {
$.ajax({
url: "/server/api/function",
type: "GET",
success: function(data) {
console.log("polling");
},
dataType: "json",
complete: setTimeout(function() {poll()}, 5000),
timeout: 2000
})
})();
发布于 2011-07-27 04:02:38
function poll(){
$("ajax.php", function(data){
//do stuff
});
}
setInterval(function(){ poll(); }, 5000);
https://stackoverflow.com/questions/6835835
复制相似问题