js获取服务器时间。最近,做了一个新的项目。一些逻辑处理经常需要获取当前时间,但是用js获取本地时间存在bug,所以我们需要使用服务器时间,js可以获取到服务器时间。原理是使用ajax请求,返回的header信息中包含服务器的时间信息,获取即可。varreq=newXMLHttpRequest();req.open('GET',location,false);请求发送(空);console.log(req.getResponseHeader('Date'));函数getServerDate(){varxhr=null;if(window.XMLHttpRequest){xhr=newwindow.XMLHttpRequest();}else{//即xhr=newActiveObject("Microsoft")}xhr.open("GET","/",false)//false不可变xhr.send(null);vardate=xhr.getResponseHeader("日期");返回新日期(日期);}也返回一个Date对象,xhr.open()必须使用同步;无需填写请求链接;open、send、getResponseHeader一定要按顺序写。如果需要使用异步请求,可以监听onreadystatechange状态来执行不同的操作。函数getServerDate(){varxhr=null;if(window.XMLHttpRequest){xhr=newwindow.XMLHttpRequest();}else{//即xhr=newActiveObject("Microsoft")}xhr.open("GET","/",true);xhr.发送(空);xhr.onreadystatechange=function(){var时间,日期;if(xhr.readyState==2){time=xhr.getResponseHeader("日期");日期=新日期(时间);控制台日志(日期);}}}使用async返回时间不是很方便。这里的readyState有四种状态,方便不同的处理:0:请求未初始化;1:服务器连接已经建立;2:请求已收到;3:正在处理请求;4:请求已经完成,响应准备好了。status的值:200:"OK"404:找不到页面
