通过原生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可以执行,就可以取当前域的地址作为请求地址,有一定的通用性,且避免了跨域的问题

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值