首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery,简单轮询示例

jQuery,简单轮询示例
EN

Stack Overflow用户
提问于 2011-07-27 03:59:29
回答 6查看 132.1K关注 0票数 111

我正在学习jQuery,并试图找到一个简单的代码示例,它将轮询一个条件的API。(例如,每隔几秒钟请求一个网页并处理结果)

我很熟悉如何在jQuery中使用AJAX,但我似乎找不到让它在“计时器”上执行的“适当”方法。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-07-27 04:02:36

代码语言:javascript
复制
function doPoll(){
    $.post('ajax/test.html', function(data) {
        alert(data);  // process results here
        setTimeout(doPoll,5000);
    });
}
票数 151
EN

Stack Overflow用户

发布于 2012-06-27 16:02:58

这是一个使用jQuery的(archive.org镜像) helpful article on long polling (长时间持有的HTTP请求)。从本文派生的代码片段:

代码语言:javascript
复制
(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请求完成后发出下一个请求。

上面的一个变体,它将在第一次调用它时立即执行,然后遵守等待/超时间隔。

代码语言:javascript
复制
(function poll() {
    $.ajax({
        url: "/server/api/function",
        type: "GET",
        success: function(data) {
            console.log("polling");
        },
        dataType: "json",
        complete: setTimeout(function() {poll()}, 5000),
        timeout: 2000
    })
})();
票数 66
EN

Stack Overflow用户

发布于 2011-07-27 04:02:38

代码语言:javascript
复制
function poll(){
    $("ajax.php", function(data){
        //do stuff  
    }); 
}

setInterval(function(){ poll(); }, 5000);
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6835835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档