用js做时间校正,获取本机时间,是存在bug的。

使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了(有的IE下扔不会正常获取,还是更建议走后台接口的方式吧)。以下:

1、依赖jQuery

代码:

function getServerDate() {var serverDate;$.ajax({async: false,type: "POST",success: function (result, status, xhr) {serverDate= new Date(xhr.getResponseHeader("Date"));},error: function (result, status, xhr) {serverDate= new Date();},});return serverDate;
}

以上函数返回的就是一个Date对象,注意在使用ajax时必须同步,要不然无法返回时间日期。

无需填写请求链接;

如果服务器时间和本地时间有时差,需要做校正。

2、原生

代码:

function getServerDate(){var xhr = null;if(window.XMLHttpRequest){xhr = new window.XMLHttpRequest();}else{ // iexhr = new ActiveObject("Microsoft")}xhr.open("GET","/",false)//false不可变xhr.send(null);var date = xhr.getResponseHeader("Date");return new Date(date);
}

同样返回的是一个Date对象,xhr.open()必须使用同步;

无需填写请求链接;open,send,和getResponseHeader 必须按序编写。

如需使用异步请求,可监听onreadystatechange状态来做不同的操作。

代码如下:

function getServerDate(){var xhr = null;if(window.XMLHttpRequest){xhr = new window.XMLHttpRequest();}else{ // iexhr = new ActiveObject("Microsoft")}xhr.open("GET","/",true);xhr.send(null);xhr.onreadystatechange=function(){var time,date;if(xhr.readyState == 2){time = xhr.getResponseHeader("Date");date = new Date(time);console.log(date);}}
}

使用异步不是很方便返回时间。

这里的readyState有四种状态,方便做不同处理:

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪

失败状态,status的值:

200: "OK"

404: 未找到页面

转自:https://www.cnblogs.com/hellobook/p/6112182.html

转载于:https://www.cnblogs.com/jearay/p/9796972.html

JavaScript or JQuery 获取服务器时间相关推荐

  1. 通过JQuery ajax获取服务器时间

    通过JQuery ajax获取服务器时间,突然发现IE有兼容问题,原来是忽略了参数type引起的,因此需要加上type:'HEAD'或者type:'POST'即可. <script> // ...

  2. 前端——JavaScript获取系统时间以及通过ajax获取服务器时间

    很多人会通过下列方式获取系统时间,并对时间进行处理: var time,year,month,date,hours,minutes,seconds; time = new Date(); year = ...

  3. 使用AJAX技术获取服务器时间

    <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">   ...

  4. js取服务器系统时间,JS中new Date()用法及获取服务器时间

    1.获取服务器时间: var now = new Date($.ajax({async: false}).getResponseHeader("Date")); 2.new Dat ...

  5. 使用javascript和jquery获取类方法

    1.本质区别 jquery是一个javascript库.jquery是一个基于javascript语言的框架,本质上就是javascript. 2.代码编写的差异 jquery大大简化了JavaScr ...

  6. Jquery 获取当前时间日期

    Jquery 获取当前时间日期代码如下: <script type="text/javascript">var timestamp = new Date().getTi ...

  7. ajax 获取服务器时间

    <script language="javascript" type="text/javascript"> //因程序执行耗费时间,所以时间并不十分 ...

  8. jQuery获取当前时间

    jQuery获取当前时间 提示:在开发中,页面上可能要显示当前的时间,我们可以直接在前端进行实现 提示: <span id = "time"></span> ...

  9. html页面获取服务器时间,[html]定时获取服务器时间和本地时间

    [html]定时获取服务器时间和本地时间 2018-11-1 萧 写技术 .time_div{width:100%; padding:10px; text-align:center; margin:5 ...

最新文章

  1. 深度丨全球14家顶尖 AI 产业巨头深度学习实力及战略分析
  2. 漫画:什么是 “抽象工厂模式” ?
  3. 文件目录Android SDK目录结构
  4. discuz登陆首页后提示style_1_commen.css,关于Discuz用户面板必须刷新才能显示登录状态的问题解决办法...
  5. struts2中action向action之间传数据和action向jsp传数据理解
  6. mysql 进阶方向_mysql数据库入门、进阶和提升(续二)
  7. ASP.NET MVC实践系列1-UrlRouting
  8. 掘金外链即将失效?论如何用脚本一次性下载/替换失效的外链图片
  9. [sql]匹配标题中出现最多关键字的结果
  10. php怎么清空cookies,php cookie如何清除
  11. NRF52840 DFU升级(一): 按键升级
  12. 盗心贼歌曲用计算机多少数字,抖音上常见背景音乐歌词盗心的贼是那首歌?
  13. erlang之ets总结
  14. 五招防止QQ密码被盗
  15. 关于MySql中explain结果filtered的理解
  16. Aspose.Words 创建表格
  17. android 设置壁纸,在Android中使用WallpaperManager设置壁纸
  18. Linux_查看内存使用情况
  19. 微信公众号怎么发PDF文件
  20. 量子计算机可以发明时光机,俄科学家发明全球第一台时光机,可让微小粒子向过去移动1秒钟...

热门文章

  1. Linux系统下授权MySQL账户访问指定数据库和数据库操作
  2. 安装 pear、phpunit 测试用例步骤方法
  3. SQL注入漏洞修复办法
  4. 构建直接路由模式(DR)的LVS
  5. 算法设计 分治, 归并排序, 快速排序
  6. python中的for in 语句_2、python,for..in语句
  7. 森林图怎么分析_新疆森林消防总队特勤大队:“火焰蓝”备战春防,我们时刻准备着!...
  8. 儿童电脑学习软件_电脑端英语学习宝藏软件
  9. linux数组拼接_Linux中Shell数组的笔记
  10. Jmeter系列之数据库操作