首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

只用js怎么更有效的获取服务器时间

2012-09-15 
只用js如何更有效的获取服务器时间在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户

只用js如何更有效的获取服务器时间

在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户端的时间,服务器的时间.

客户端时间通过 javascript中的Date对象可以获取,如

var xhr = new XMLHttpRequest();if( !xhr ){  //...其他生成xmlhttprequest方法}xhr.open("HEAD",location.href,true);xhr.onreadystatechange=function(){    if( xhr.readyState == 4 && xhr.status == 200 ){         alert(xhr.getResponseHeader("Date"));    }}xhr.send(null);





解释:
常见的Ajax请求方法为GET,POST而这两种请求都可能会返回正文体,而发HEAD头则只会返回对应的头信息,不会有正文,且只要javascript可以执行,就可以取当前域的地址作为请求地址,有一定的通用性,且避免了跨域的问题.:lol:


实践:

以上代码的完整版在ie6,7,8,9,opera,chrome,firefox下测试通过


适用范围:

javascript正常执行的作用域是http/https下生效



其他:
服务器一定会返回Date头信息吗?
这个是RFC里要求服务器必须实现的,只有在101,103,500等几个状态码的情况下服务器才可以不返回Date头.但我们的location.href不在这个情况之列,所以只要当前javascript代码能正常执行(http方式),那么这个时间就可以取得到

定制的服务器不在本文讨论范围之内




转载请保留以下内容:
author:mooring
sites: http://mooring.iteye.com
date:2012/02/23

?

1 楼 haiyupeter 2012-02-23   力顶,支持一个 2 楼 mfkvfn 2012-03-01   good work!

热点排行