Ajax:读取响应首部

摘要:
有时,我只想“ping”服务器以验证服务器是否正常运行。此时,您只需要读取服务器发送的响应的标头并忽略内容。内容类型和内容长度可以通过读取响应头varxmlHttp;varrequestType=”“;functioncreateXMLHttpRequest(){if{xmlHttp=newActiveXObject;}elseif{xmlHttp=newXMLHttpRequest();}}functiondoRequest{createXMLHttpRequest();requestType=request;xmlHttp.onreadystatechange=handleStateChange;xmlHttp.popen;xmlHttp.send;}函数handleStateChange(){if{如果{getAllResponseHeaders();}elseif{getLastModified();}elseif{getIsResourceAvailable();}}函数getAllResponseHeaders(){alert;}函数getLastModified(){alert;}函数getIsResourceAvailable(){if{alert;}elseif{alert;}否则{alert;}}ReadingResponseHeadersReadAllResponseHeadersGetLastModifiedDateReadAvailableResourceReadUnavailableResourcereadingResponseHeaders.xml:˂?

   有时,只是想“ping”一下服务器,验证服务器是否正常运行。此时,只需要读取服务器发出的响应首部,而忽略内容。通过读取响应首部,可以得出content-Type(内容类型)、Content-Length(内容长度)。甚至LastModified(最后一次修改)的日期。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var xmlHttp;
        var requestType = "";
        function createXMLHttpRequest() {
            if (window.ActiveXObject) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTp");
            }
            else if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
            }
        }


        function doRequest(request, url) {
            createXMLHttpRequest();
            requestType = request;
            xmlHttp.onreadystatechange = handleStateChange;
            xmlHttp.open("GET", url, true);
            xmlHttp.send(null);
        }
        function handleStateChange() {
            if (xmlHttp.readyState == 4) {

                if (requestType == "allResponseHeaders") {
                    getAllResponseHeaders();
                }
                else if (requestType == "lastModified") {

                    getLastModified();
                }
                else if (requestType == "isResourceAvailable") {
                    getIsResourceAvailable();
                }

            }
        }
        function getAllResponseHeaders() {

            alert(xmlHttp.getAllResponseHeaders());
        }
        function getLastModified() {
            alert("Last Modified:" + xmlHttp.getResponseHeader("Last-Modified"));
        }

        function getIsResourceAvailable() {
            if (xmlHttp.status == 200) {
                alert("Successful response");
            }
            else if (xmlHttp.status == 404) {
                alert("Resource is unavailable");
            }
            else {
                alert("Unexpected response status:" + xmlHttp.status);
            }
        }
    </script>
</head>
<body>
    <h1>
        Reading Response Headers</h1>
    <a href="javascript:doRequest('allResponseHeaders','readingResponseHeaders.xml');">Read
        All Resoponse Headers</a><br />
    <a href="javascript:doRequest('lastModified','readingResponseHeaders.xml');">Get Last
        Modified Date</a><br />
    <a href="javascript:doRequest('isResourceAvailable','readingResponseHeaders.xml');">
        Read Available Resource </a>
    <br />
    <a href="javascript:doRequest('isResourceAvailable','no-available.xml');">Read UnAvailable
        Resource </a>
    <br />
</body>
</html>

readingResponseHeaders.xml文件内容为:

<?xml version="1.0" encoding="utf-8" ?>
<readingResponseHeaders>

</readingResponseHeaders>

执行效果如下:

Ajax:读取响应首部第1张

挨个点击出现效果:

Ajax:读取响应首部第2张

Ajax:读取响应首部第3张

Ajax:读取响应首部第4张

Ajax:读取响应首部第5张

免责声明:文章转载自《Ajax:读取响应首部》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ansible实现mysql数据库主从复制解决VMware虚拟机网络时长中断的问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【IDEA】IDEA中maven项目pom.xml依赖不生效解决

问题:   今天在web项目中需要引入poi相关jar包。查看之下才发现pom.xml中的依赖虽然已经下载到了本地仓库 repository,但是却没有加入到项目路径的 Extenal Libraries 中。 解决办法:   在google,百度之后并没有发现同样类型的问题,所以就只能自己摸索了,根本其他接近本问题的解决方法,发现IntelliJ中存在管...

C++开源库详细介绍

C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被 严重地增强了。主力原因就是开源的软件、基础软件(比如并发原生支持,...

JIRA数据库切换(HSQL Database到MySQL)

没试过的版本,但是看着靠谱: 注:如果你之前配置过hsql版本,这次修改mysql数据操作会导致配置数据丢失,所以请注意备份 一、 创建名为jiradb的mysql数据,编码格式为utf-8 二、修改jira配置文件confserver.xml的数据库配置部分如下 <Resource name="jdbc/JiraDS" auth="Contain...

Spring MVC重定向和转发及异常处理

SpringMVC核心技术---转发和重定向 当处理器对请求处理完毕后,向其他资源进行跳转时,有两种跳转方式:请求转发与重定向。而根据要跳转的资源类型,又可分为两类:跳转到页面与跳转到其他处理器。对于请求转发的页面,也可以是WEB-INF中页面;对于重定向的页面,不能为WEB-INF中的页面。因为重定向相当于用户再次发出一次请求,而用户是不能直接访问WEB...

js(javascript)与ios(Objective-C)相互通信交互

随着苹果SDK的不断升级,越来越多的新特性增加了进来,本文主要讲述从iOS6至今,Native与JavaScript的交互方法 一、UIWebview && iframe && JavaScript  <=iOS6 iOS6原生没有提供js直接调用Objective-C的方式,只能通过UIWebView的UIWebVi...

.net学习笔记---xml序列化

 XML序列化是将对象的公共属性和字段转换为XML格式,以便存储或传输的过程。反序列化则是从XML输出中重新创建原始状态的对象。XML序列化中最主要的类是XmlSerializer类。它的最重要的方法是Serialize和Deserialize方法,它位于System.Xml.Serialization命名空间。 一、XML序列化基本要点   在本节开始之...