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 常用操作方法
Jan 28 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
Oct 29 Javascript
jquery.post用法示例代码
Jan 03 Javascript
创建你的第一个AngularJS应用的方法
Jun 16 Javascript
怎么引入(调用)一个JS文件
May 26 Javascript
webpack+vue.js快速入门教程
Oct 12 Javascript
ES6新特性之字符串的扩展实例分析
Apr 01 Javascript
redux-saga 初识和使用
Mar 10 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 Javascript
使用vue构建多页面应用的示例
Oct 22 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
广播爱好者需要了解的天线知识
2021/03/01 无线电
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
犀利的js 函数集合
2009/06/11 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
简单实用的js调试logger组件实现代码
2010/11/20 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
JS验证字符串功能
2017/02/22 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
小程序实现多列选择器
2019/02/15 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
车间班组长的职责
2013/12/13 职场文书
社区母亲节活动记录
2014/03/06 职场文书
幼儿园招生广告
2014/03/19 职场文书
抵押贷款承诺书
2014/05/30 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
详解jQuery的核心函数和事件处理
2022/02/18 jQuery
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android