javascript - ajax动态显示服务器时间
PHP中文网
PHP中文网 2017-04-10 16:19:29
[JavaScript讨论组]

我想用AJAX无刷新动态更新服务器时间,核心代码如下:

$.ajax({
  success: function(result, status, xhr) {
    var date = new Date(xhr.getResponseHeader("Date"));
    var second = date.getSeconds();
    $('p').text(second);
  }
});

我想到的是通过setTimeout()setInterval()来实现:

function change() {
  $.ajax({
    success: function(result, status, xhr) {
      var date = new Date(xhr.getResponseHeader("Date"));
      var second = date.getSeconds();
      $('p').text(second);
    }
  });
}
setInterval(change, 1000);

但是这样页面会卡,而且得到的时间不准确。有更好的方法来实现吗?

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
黄舟

亲,我可以只给你思路么?当然,如果你看过了之后还想要代码,那再说。

我理解你的需求,但是这样做是肯定不行的,而且你既然都已经来提问了,肯定也意识到了。

你可以这样做:

  1. 请求回当前服务器时间

  2. 每隔1000ms本地刷新时间(如果只是精确到的话)

  3. 从之前从服务器请求时间开始计算,10分钟半小时1小时或者你自己选个合适的时间间隔,然后再去向服务器请求当前服务器时间,以修正时间误差

这里有个点你也需要考虑进去,如果有必要的话。那就是,向服务器请求,再到服务器获取当前时间,然后到浏览器获得响应这几个时间点之间的关系。

希望可以帮到你 :P

ringa_lee

你只需要ajax请求一次服务器时间就行了,后面就交给客户端js处理显示了

PHP中文网

1L求代码思路

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号