jQuery不断ping Ajax响应

4 php ajax jquery

我如何使用jQuery不断运行PHP脚本并每秒获取响应,并将鼠标上的少量数据发送到同一个脚本?

我真的需要添加一些随机扩展才能让这么简单的计时器工作吗?

And*_*ges 24

迭代是人,是递归神圣.
-L.彼得德意志

var req = function () {
    $.ajax({
        url : 'http://example.com/yourscript.php',
        complete : function () {
            req();
        }
    });
};
req();
Run Code Online (Sandbox Code Playgroud)

如果不明显,上述内容将在前一个请求完成后立即生成新请求.您还可以在请求之间设置1秒的延迟,如下所示:

var req = function () {
    $.ajax({
        url : 'http://example.com/yourscript.php',
        complete : function () {
            setTimeout(function () {
                req();
            }, 1000);
        }
    });
};
req();
Run Code Online (Sandbox Code Playgroud)

  • 而且,无论如何,它不会每秒发出很多请求.它将一次发出1个请求.1个请求,完成后,发出下一个请求.那么,也许你应该撤消你的downvote? (2认同)

kky*_*kyy 0

您不必添加一些随机扩展。有本地 JavaScript 函数setInterval 和 setTimeout用于按设定的时间间隔执行操作。你可能想做类似的事情

function ajaxPing() {
  ...
}

setInterval("ajaxPing()", 1000);

$(element).mousedown(ajaxPing);
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您确实想每秒执行 ping 操作,那么只需将数据存储在变量中mousedown并在下一次 ping 操作时提交(这将在不到一秒的时间内发生)就足够了。