• js获取服务器时间


    频繁的需要获取当前时间进行一些逻辑处理,但是用js获取本机时间,是存在bug的,那么就需要我们使用服务器时间,js可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了。

    function loadXMLDoc(){
        var xhr = null;
            if(window.XMLHttpRequest){
              xhr = new window.XMLHttpRequest();
            }else{ // ie
              xhr = new ActiveObject("Microsoft")
            }
        
            xhr.open("GET","/ntsc.ac.cn",false)//false不可变
            xhr.send(null);
            var date = xhr.getResponseHeader("Date");return new Date(date);
        
    }


    //获取服务器时间 20210224修改
    var nowDate=new Date($.ajax({async:false}).getResponseHeader('Date'));

    同样返回的是一个Date对象,xhr.open()必须使用同步;
    无需填写请求链接;

    open,send,和getResponseHeader 必须按序编写。

    如需使用异步请求,可监听onreadystatechange状态来做不同的操作。

    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);
                }
            }
        }

    使用异步不是很方便返回时间。
    这里的readyState有四种状态,方便做不同处理:

    0: 请求未初始化;
    1: 服务器连接已建立;
    2: 请求已接收;
    3: 请求处理中
    4: 请求已完成,且响应已就绪
    失败状态,status的值:
    200: "OK"
    404: 未找到页面

    动态显示

    window.setInterval(loadXMLDoc, 1000);

     添加一个链接:https://www.jianshu.com/p/3d1855eee998?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

  • 相关阅读:
    03 获取元素节点对象的方式
    02 window对象的常用方法
    01 BOM对象介绍
    10 for循环介绍和应用
    09 三元运算
    序列化pickle
    随机数random模块
    datetime模块时间运算
    time模块细讲
    时间处理模块
  • 原文地址:https://www.cnblogs.com/Esther-yan/p/13334980.html
Copyright © 2020-2023  润新知