• js获取服务器时间


    Ajax HTTP Head
    原理:
    一般服务器在发送静态页面的时候(apache, nginx, lighttpd就目前所知)都是会在 HTTP 头里带一个Date的头信息的,那么我用Ajax直接取头信息里的Date不就OK了吗!)
    PS:但ajax发请求出去不是会有正文返回吗,那正文的内容比请求一次动态页面的代价可高多了,是这样的吗?)

    实现:

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

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

    实践:
         以上代码的完整版在ie6,7,8,9,opera,chrome,firefox下测试通过
    适用范围:
         javascript正常执行的作用域是http/https下生效
    其他:
    服务器一定会返回Date头信息吗?
    这个是RFC里要求服务器必须实现的,只有在101,103,500等几个状态码的情况下服务器才可以不返回Date头.但我们的location.href不在这个情况之列,所以只要当前javascript代码能正常执行(http方式),那么这个时间就可以取得到,定制的服务器不在本文讨论范围之内。

    原文:http://mooring.iteye.com/blog/1418587

  • 相关阅读:
    Mybatis基础配置及增删查改操作
    SpringMVC注解方式与文件上传
    SpringMVC的基础配置及视图定位
    Spring AOP面向切面编程
    Spring注入属性、对象
    Spring的配置及jar包下载
    多线程
    集合框架
    I/O————流
    I/O————对象流
  • 原文地址:https://www.cnblogs.com/weekend001/p/3654084.html
Copyright © 2020-2023  润新知