js获取服务器时间

xiaoxiao2021-02-28  59

js获取服务器端时间有何用?

比如说做一个商品倒计时抢购的活动,使用new date()来获取时间来做是有风险的,比如时区,用户手动修改时间等

js如何获取服务器端时间?

获取服务器时间还是会依赖ajax请求,但是可以不用通过后台接口获取,可直接在请求头部获取到,如下:

同步请求: 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); } 异步请求: 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); } } } 这里异步请求,可以根据state的返回值来选择性的操作: 这里的readyState有四种状态,方便做不同处理: 0: 请求未初始化 1: 服务器连接已建立 2: 请求已接收 3: 请求处理中 4: 请求已完成,且响应已就绪 失败状态: 200: "OK" 404: 未找到页面
转载请注明原文地址: https://www.6miu.com/read-78874.html

最新回复(0)