急!!!求高手解答JavaScript实时显示Ajax获取的服务器时间的倒计时功能。

  今有如下需求:

     现已实现的功能:Ajax实时读取数据库数据,显示倒计时功能。每秒读一次数据库。

     待实现功能:出于性能方面考虑,不能这样做。但是界面上的倒计时功能也要体现出“实时”性。所以客户端倒计时效果是实时变化的。目前提供的思路是:Ajax每15秒(这个时间可以自行设置)与数据库中的时间同步一次(目的减少服务器压力),但是客户端要用JavaScript来实时显示同步出来的服务器时间。请问js或jquery该怎么实现?或者哪位朋友有更好的建议?谢谢!

青春有我
浏览 462回答 14
14回答

慕无忌1623718

那种团购秒杀什么的都是Get请求过一次页面就在本地js上一直 setInterval了没必要15秒就和服务器对一次时间吧。。。反正计算机只有每5秒的平均才真正接近实际时间的1秒没必要搞那么复杂

HUH函数

兄弟,这个对时间很有要求的,只能核对服务器时间,因为客户端时间是可以修改的。

凤凰求蛊

为什么要读数据库呐?客户端的时间能改,服务器时间他们改不了。后台方法里的取服务器时间,用ajax调用后台方法,不用读数据库。没压力。

小唯快跑啊

好吧,兄弟说的正确,不用每次都读取数据库,数据库只读一次就可以。然后,ajax要实时同服务器通讯,这样服务器压力也不小吧?现在需求是每15秒与服务器时间同步一下,但是在客户端显示时间时,要“实时”显示,而这个实时效果我打算用js来实现。但是我不知道如何实现。

眼眸繁星

没有必要这么频繁的和服务器对时,而且http不是对时的协议,不能保证时间上的准确性,至于说客户端改时间的问题,这个只需要在服务器端核对请求的时间就好了。一定要精准对时的话,那你需要用NTP。

开满天机

这个不是这样做的。 第一次请求的时候读下服务器的时间。然后剩下的就交给客户端维护。 客户端即使怎么改时间都没用。 每次去更新,连接多了,还给服务器带去很多的压力。 只需要在DOM中维护好时间就行了。 真的好简单的。去看下淘宝啊那些团购网站。都是这样做的。初始化页面的绑定时间。然后剩下的就用js去更新时间。提交的时候还是会验证时间的。所以别想太多了。

SMILET

  朋友说的有道理,但是要考虑这个问题,万一客户端与服务端断开连接后,为了实现“实时性”,我认为与服务器同步是必须的。只是我们可以延长与服务器同步的间隔时间,比如说15秒同步一次,然后在这15秒内呢,客户端的倒计时仍能“正常”显示(每秒都变化),而不是“静止的”,过了15秒后再变化。(这种效果能否用js实现)。

GCT1015

@Technology:  不需要考虑断开的情况。因为断开了。浏览器不关。浏览器的秒还是在跳。 所以不需要同步。 而如果浏览器开了。又同样的初始化了时间。所以不会出现误差的。

牧羊人nacy

@imfunny: 现在必须要与服务器同步,请问能否实现我刚才说的那种效果?不要去纠结要不要与服务器同步的问题。谢谢

红糖糍粑

是只需要 打開頁面的時候,初始化一個倒計時就可以了。只需要提交的時候,再去和服務器比較。要小於等於服務器的時間。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript