javascript - 定期发送ajax请求

标签 javascript jquery ruby-on-rails ruby ajax

有一个页面,我想定期发出“后台”ajax 请求。所以页面被加载然后它应该在一定时间内发送ajax请求。

我可能会为此使用 cron。我以前从未使用过,所以我想知道它是否适合这项任务。还有其他更简单的方法吗?

附言时间延迟约为 5 分钟。

最佳答案

由于在您发出 AJAX 请求和收到完整响应之间本质上存在未知延迟,因此通常更优雅的方法是在固定时间开始下一个 AJAX 调用 前一个完成之后。这样,您还可以确保通话不会重叠。

var set_delay = 5000,
    callout = function () {
        $.ajax({
            /* blah */
        })
        .done(function (response) {
            // update the page
        })
        .always(function () {
            setTimeout(callout, set_delay);
        });
    };

// initial call
callout();

关于javascript - 定期发送ajax请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16054608/

相关文章:

javascript - Firefox 插件与版本 11 的兼容性

javascript - JQuery Collapsible 内的 slider 切换开关

javascript - SAPUI5 表项重复 ID

javascript - 游戏无法检查条件并在后台启动

javascript - 在 Laravel 中使用 React

javascript - 使 z-index 子级高于父级

ruby-on-rails - 如何在 en.yml 中写入带引号的值?

ruby-on-rails - PG::ConnectionBad FATAL:不允许角色 "BetBook3"登录

ruby-on-rails - Rails + Sinatra 应用分享会

javascript - 点击延迟时间