每隔1秒调用一次jQueryajax是否安全

Is it safe to call jQuery ajax every 1 second

本文关键字:一次 jQueryajax 是否 安全 1秒 调用 每隔      更新时间:2023-09-26

我有一个php文件,它生成新年前夕和一些生日倒计时秒的json。但我希望倒计时每一秒都改变一次。如果我将Timeout(1000)设置为ajax调用函数,它安全吗(会使服务器过载吗)?通过jQuery实现1秒JSON调用的最佳方式是什么?感谢

不要用请求重载服务器(考虑到上下文,可能会有许多用户同时处理许多请求,并与常量回调相结合),例如,在第二天一次获取所有数据,并仅用javascript处理生日。

我在其中使用的唯一Ajax部分是每小时或每天加载一次更多的生日,以防你有一个非常炒作的用户打开浏览器。

服务器上的负载取决于:

  1. 每次调用php时所做的工作量以及
  2. 您期望的用户数量

根据服务器的操作,您很可能能够将倒计时逻辑移动到客户端javascript中,服务器只计算初始值。然后,您可以使用javascript中的计时器每秒更新一次,计算当前时间和起始值之间的差值。

取决于您的服务器以及PHP端点的优化程度……这是一个非常有条件的问题。

然而,对于你所做的,我也建议你从JS中完成。。即使是生日,我也会在标记中设置一个JSON对象,其中包含记录的所有生日,然后您就可以在客户端完成所有操作。。。对于可能添加的任何新生日,可能每隔5-10分钟调用ajax。。。取决于您的应用程序。

我使用了setInterval,并检查剩余时间是否等于零。然后我重新运行ajax函数。

谢谢大家:)毕竟你们很有帮助;)

如果我理解的话,您希望每秒调用服务器来更新您的时间。

你不能只是:

  1. 致电服务器获取实际时间
  2. 列表项2-使用JS setInterval(functionIncrementAndUpdateDate, 1000);进行处理

您可以使用Keith Wood的倒计时计时器:http://keith-wood.name/countdown.html

它非常容易使用,而且不需要AJAX。你所要做的就是包括插件文件并写:

<div id="timer"></div>
$(document).ready(function() {
    $('#timer').countdown({
        until: '<?php echo date("h:i:s"); ?>' // change this to New Year or a Birthday from DB
    });
});

演示:http://jsfiddle.net/tqyj4/436/