 
                        我想用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);但是这样页面会卡,而且得到的时间不准确。有更好的方法来实现吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
亲,我可以只给你思路么?当然,如果你看过了之后还想要代码,那再说。
我理解你的需求,但是这样做是肯定不行的,而且你既然都已经来提问了,肯定也意识到了。
你可以这样做:
请求回
当前服务器时间每隔
1000ms本地刷新时间(如果只是精确到秒的话)从之前从服务器请求时间开始计算,
10分钟、半小时、1小时或者你自己选个合适的时间间隔,然后再去向服务器请求当前服务器时间,以修正时间误差这里有个点你也需要考虑进去,如果有必要的话。那就是,向服务器
请求,再到服务器获取当前时间,然后到浏览器获得响应这几个时间点之间的关系。希望可以帮到你
:P你只需要ajax请求一次服务器时间就行了,后面就交给客户端js处理显示了
1L求代码思路