【问题标题】:Call and Run Ajax every X minutes每 X 分钟调用和运行 Ajax
【发布时间】:2019-04-23 06:38:57
【问题描述】:

如何在不打开页面(客户端)的情况下每 X 分钟调用和运行 Ajax,在服务器端的后台运行。

我在 Header.php 中的代码:

(function($) {
    function updateGo() {
        $(window).load(function() {
            $.ajax({
                url: '/test.com/template/test/script.php',
                dataType: 'html',
                cache: false,
                success: function(data) {
                    if (data) {
                        $('body').append(data);
                    }
                }
            });
        })
    }
    updateGo();
    setTimeout(updateGo, 60 * 1000);
})(jQuery);

script.php 里面有一些函数和代码 jquery 并且它工作得很好,但只有当我进入页面(客户端)时才有效,以防我试图制作这些函数并且这个脚本的代码总是运行而不需要进入页面。

【问题讨论】:

  • 您不能在服务器上运行 JavaScript(除非您正在运行 Node)。尝试使用curl 请求
  • 听起来你应该运行一个 cronjob 来执行 php
  • 我正在尝试使用 WP Control 每 5 分钟运行一次 cronjob,但尚未实现

标签: php jquery ajax wordpress


【解决方案1】:

如果你想每隔 X 分钟调用和运行一次 Ajax jQuery,你可以试试 setInterval doc 喜欢的函数:

(function($) {
    function updateGo() {
        $(window).load(function() {
            $.ajax({
                url: '/test.com/template/test/script.php',
                dataType: 'html',
                cache: false,
                success: function(data) {
                    if (data) {
                        $('body').append(data);
                    }
                }
            });
        })
    }
    updateGo();
    // for this example we take 3000 milliseconds
    let interval = 3000;
    setInterval(updateGo, interval);
})(jQuery);

所以当你在浏览器中加载页面时它就可以工作了。

注意:在服务器端的后台,我们不能使用Ajax,你必须尝试添加cronJob little documentation about

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2011-06-23
    • 2019-11-04
    • 2014-11-02
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多