zoukankan      html  css  js  c++  java
  • Ajax:读取响应首部

       有时,只是想“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>

    执行效果如下:

    挨个点击出现效果:

  • 相关阅读:
    用select模拟一个socket server
    用select (多路复用)模拟一个 socket server
    IO模式
    IO多路复用
    进程、线程和协程的理解
    进程、线程和协程--自己的理解
    二维数组的初始化,遍历
    数组的练习
    练习1
    数组的内存结构
  • 原文地址:https://www.cnblogs.com/lufangtao/p/2715700.html
Copyright © 2011-2022 走看看