通过原生js的ajax方法获取服务器时间(可用于抢购倒计时显示)

1:通过控制器获取服务器时间返回到前台正确显示(这是一种通用的方法,也是大家一般会直接想到的); 

2:利用JS请求在 HTTP header 头里带一个Date的头部信息,用Ajax直接取头部信息里的Date就可获取服务器时间 

原生写法:

var xhr = new XMLHttpRequest();  

if( !xhr ){  

   xhr = new ActiveXObject(“Microsoft.XMLHTTP”);  

}  

xhr.open(“HEAD”,location.href,true);  

xhr.onreadystatechange=function(){  

if( xhr.readyState == 4 && xhr.status == 200 ){          alert(xhr.getResponseHeader(“Date”));  

    }  

}  

xhr.send(null); 
jquery写法

var time;

$.ajax({type:’HEAD’, async: true})

 .success(function(data, status, xhr){

   time=xhr.getResponseHeader(‘Date’);

 });

PS:可能会有问了,ajax请求http这样的话 跟通过控制器获取服务器时间有啥区别么,同样要消耗一次请求,并且每次都会有服务器正文返回。 

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

欢迎分享本文,转载请保留出处:前端ABC » 通过原生js的ajax方法获取服务器时间(可用于抢购倒计时显示)

分享到:更多 ()

发表评论 0