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 相关文章推荐
网站被黑的假象--ARP欺骗之页面中加入一段js
May 16 Javascript
使用IE6看老赵的博客 jQuery初探
Jan 17 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
Jun 04 Javascript
bootstrap table复杂操作代码
Nov 01 Javascript
JS失效 提示HTML1114: (UNICODE 字节顺序标记)的代码页 utf-8 覆盖(META 标记)的冲突的代码页 utf-8
Jun 23 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 Javascript
详解使用webpack构建多页面应用
Dec 21 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
Feb 27 Javascript
Angular value与ngValue区别详解
Nov 27 Javascript
js实现简单点赞操作
Mar 17 Javascript
vue基于better-scroll实现左右联动滑动页面
Jun 30 Javascript
vscode中Vue别名路径提示的实现
Jul 31 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
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
jquer之ajaxQueue简单实现代码
2011/09/15 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
jquery.tableSort.js表格排序插件使用方法详解
2020/08/12 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
Angular排序实例详解
2017/06/28 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
vue中使用cropperjs的方法
2018/03/01 Javascript
vue项目引入字体.ttf的方法
2018/09/28 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
使用vue中的混入mixin优化表单验证插件问题
2019/07/02 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
python简单实现刷新智联简历
2016/03/30 Python
Python threading的使用方法解析
2019/08/28 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
木马的传播途径主要有哪些
2016/04/08 面试题
new修饰符是起什么作用
2015/06/28 面试题
年度考核自我鉴定
2013/11/09 职场文书
酒店开业策划方案
2014/06/02 职场文书
中学生逃课检讨书
2015/02/17 职场文书
员工辞职信范文
2015/03/02 职场文书
七一晚会主持词
2015/06/29 职场文书
聘任书范文大全
2015/09/21 职场文书
小学生优秀作文范文(六篇)
2019/07/10 职场文书
AJAX学习笔记
2021/05/18 Javascript