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


Posted in Javascript onNovember 29, 2016

用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获取服务器端时间的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery自定义属性(类型/属性值)
May 21 Javascript
jQuery function的正确书写方法
Aug 02 Javascript
js的Prototype属性解释及常用方法
May 08 Javascript
jQuery实现图片文字淡入淡出效果
Dec 21 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
Apr 20 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
Jan 09 Javascript
vue实现tab切换外加样式切换方法
Mar 16 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
Jul 23 Javascript
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
JavaScript中set与get方法用法示例
Aug 15 Javascript
vue使用rem实现 移动端屏幕适配
Sep 26 Javascript
详解angular2.x创建项目入门指令
Oct 11 Javascript
微信小程序链接传参并跳转新页面
Nov 29 #Javascript
JavaScript中Array对象用法实例总结
Nov 29 #Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
Nov 29 #Javascript
JavaScript构建自己的对象示例
Nov 29 #Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
Nov 29 #Javascript
jQuery获取this当前对象子元素对象的方法
Nov 29 #Javascript
JavaScript中return用法示例
Nov 29 #Javascript
You might like
php数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
window.name代替cookie的实现代码
2010/11/28 Javascript
javascript工具库代码
2012/03/29 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
2014/05/14 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
vue页面跳转后返回原页面初始位置方法
2018/02/11 Javascript
详解webpack之图片引入-增强的file-loader:url-loader
2018/10/08 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
详细解读Python中的__init__()方法
2015/05/02 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
Python探索之Metaclass初步了解
2017/10/28 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Matlab使用Plot函数实现数据动态显示方法总结
2021/02/25 Python
加拿大大码女装购物网站:Penningtons
2020/12/26 全球购物
人力资源主管职责范本
2014/03/05 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS