JavaScript获取服务器端时间的方法

 更新时间:2016年11月29日 11:42:16   作者:HelloBook  
这篇文章主要介绍了JavaScript获取服务器端时间的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

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

使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了。以下:

1、依赖jQuery

代码:

function getServerDate(){
return new Date($.ajax({async: false}).getResponseHeader("Date"));
}

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

无需填写请求链接;

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

2、原生

代码:

function getServerDate(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new window.XMLHttpRequest();
}else{ // ie
xhr = 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{ // ie
xhr = 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: 未找到页面

以上所述是小编给大家介绍的JavaScript获取服务器端时间的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • js仿京东放大镜效果

    js仿京东放大镜效果

    这篇文章主要为大家详细介绍了js仿京东放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • JavaScript基础之AJAX简单的小demo

    JavaScript基础之AJAX简单的小demo

    这篇文章主要介绍了JavaScript基础之AJAX简单的小demo ,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-01-01
  • Javascript优化技巧之短路表达式详细介绍

    Javascript优化技巧之短路表达式详细介绍

    这篇文章主要介绍了Javascript优化技巧之短路表达式详细介绍,本文讲解了什么是短路表达式,并给出了一些示例,需要的朋友可以参考下
    2015-03-03
  • 网页图片延时加载的js代码

    网页图片延时加载的js代码

    大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较长的页面来说,这个方案是比较好的。
    2010-04-04
  • 学习JavaScript设计模式之策略模式

    学习JavaScript设计模式之策略模式

    这篇文章主要为大家介绍了JavaScript设计模式中的策略模式,对JavaScript设计模式感兴趣的小伙伴们可以参考一下
    2016-01-01
  • JS中浮点数精度问题的分析与解决方法

    JS中浮点数精度问题的分析与解决方法

    在js中我们有时会遇到计算,通过加减乘除处理某些业务,那么这时候如果不做任何处理,就会出现如下典型的精度丢失问题,下面这篇文章主要给大家介绍了关于JS中浮点数精度问题的分析与解决方法,需要的朋友可以参考下
    2022-04-04
  • JavaScript 设计模式学习 Factory

    JavaScript 设计模式学习 Factory

    通过接口实现工厂,这是通过List方式显示RSS 等实现代码。
    2009-07-07
  • webpack5处理图片、图标字体、多媒体等静态资源文件

    webpack5处理图片、图标字体、多媒体等静态资源文件

    在 webpack5 中内置了 file-loader、url-loader、raw-loader, 可以直接通过配置实现常用功能,下面就来介绍一下webpack5处理图片、图标字体、多媒体等静态资源文件的实现方法,感兴趣的可以了解一下
    2023-12-12
  • JavaScript错误处理和调试方法详解

    JavaScript错误处理和调试方法详解

    代码审查是调试JavaScript的重要方法,因为它允许多个开发人员一起处理代码库并在开发过程的早期发现错误,这篇文章主要给大家介绍了关于JavaScript错误处理和调试方法的相关资料,需要的朋友可以参考下
    2023-11-11
  • JS实现数组去重及数组内对象去重功能示例

    JS实现数组去重及数组内对象去重功能示例

    这篇文章主要介绍了JS实现数组去重及数组内对象去重功能,结合实例形式分析了ES5与ES6两种版本针对数组去重的相关操作技巧,需要的朋友可以参考下
    2019-02-02

最新评论