近期在做的这个项目要获取到后台的数据。然后使用html5绘制曲线。曾经都是在自己电脑上使用没有发现有什么不正常的地方,昨天连接同事的server发现有段数据怎么都对不上了,開始我还以为程序有问题呢,找了半天结构发现是我的电脑时间和同事的电脑时间对不上导致的。既然发现了问题以下就是找出解决的方法了。

实际上最好的解决的方法是固定client的时间,不然改动,但你会发现这个不可能的。所以仅仅有找其它方式的。

再有就是获取server时间然后同步到client了。实际上这个游戏三种方式可行。

1、既然是动态获取就每秒获取一次。这样能完毕需求可是会非常大的添加server的压力。

2、获取玩一次后,然后在client进行更新。这个能保证在開始的时候获取到的数据时正确的。可是后期不能保证数据的正确性。

3、在開始的时候获取一次,以后每过分钟再获取一次,这样能非常大程度上降低server的压力,也能非常大程度上保证数据的正确性。

获取server时间:

/**
 * 获取server时间
 */
function getServerTime()
{
<span style="white-space:pre"> </span>nowTime = new Date().getTime();
<span style="white-space:pre"> </span>$.ajax(
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>url : 'serverTime_getServerTime', type : 'GET', datatype : 'json',
<span style="white-space:pre"> </span>success : function(data)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>/**
<span style="white-space:pre"> </span> * 推断相应的键值是否有相应的数据
<span style="white-space:pre"> </span> */
<span style="white-space:pre"> </span>if (data)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>nowTime = data;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>});
<span style="white-space:pre"> </span>return nowTime;
}

设置动态更新:

function setTime()
{
if (timeInterval != 60000)
{
timeInterval += 1000;
nowTime += 1000;
} else
{
nowTime = getServerTime();
timeInterval = 0;
}
$("#server_time").html(
"服务器时间:" + new Date(nowTime).toString().substring(15, 24));
}

在页面载入的时候调用:

<span style="font-family: Arial, Helvetica, sans-serif;">window.onload = function()</span>
{
nowTime = getServerTime();
setInterval(setTime, 1000);
};

这样就能实现时间的动态刷新,但又不至于频繁的到后台请求数据了。

最新文章

  1. Wijmo 2016 V3发布
  2. vim中tab转为空格
  3. 北大poj-1091
  4. codeskulptor hosts
  5. html5的特性
  6. 【测试】使用hr用户下的employees和departments表写一条SQL语句,(MG连接)
  7. pomelo 开发环境搭建
  8. jQuery proxy详解
  9. NFC 与点对点应用
  10. hyper-V 装ubuntu15.04
  11. sql server基础学习之引号
  12. Redis基本数据结构总结之SET、ZSET和HASH
  13. Java I/O---字符与字节转换流---FileReader&amp;FileWriter:
  14. JavaScript(第十一天)【变量,作用域,内存】
  15. [3.19FJ四校联考]
  16. 记ibatis使用动态列查询问题(remapresults)
  17. C#接口的简单创建及其用法
  18. Node辅助工具NPM&amp;REPL
  19. input和raw_input
  20. Java之路(四)数组初始化

热门文章

  1. Vijos——T 1164曹冲养猪
  2. Android Unable to execute dex: method ID not in [0, 0xffff]: 65536 问题解决方法
  3. JQuery map()函数
  4. JS原生选项卡 – 幻灯片效果
  5. mybatis中整合ehcache缓存框架的使用
  6. Android开发之搜芽项目的图片载入问题(使用Volley进行网络图片载入)
  7. UVA 11796 - Dog Distance 向量的应用
  8. 手动删除RMAN备份的方法
  9. 第一个Python程序(全面)
  10. PDO中获取结果集