用户名: 密码: 验证码:           网站地图  高级搜索  RSS订阅  收藏本站
您的位置:主页 > 网络编程 > Ajax >

实现基本Ajax技术 4.2 读取响应首部

[ 来源:csdn | 作者:不详 | 更新日期:2008-3-22 15:08:32 | 人气: | 评论 0 条 ]

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


  如果只关注响应首部,完成这样一个请求的标准做法是使用HEAD请求,而不是前面讨论的GET或POST请求。当服务器对HEAD请求做出响应时,它只发送响应首部而忽略内容,即使可以向浏览器返回所请求的内容,也不会真的把内容返回。由于忽略了内容,对HEAD请求的响应比对GET或POST的响应就小得多。

  代码清单4-3展示了从XMLHttpRequest对象获取响应首部的多种方法,并介绍了这些方法在实际中的使用。这个页面有4个链接,分别对应从XMLHttpRequest对象读取响应首部的各个方法。

  代码清单4-3 readingResponseHeaders.html

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml"> www.jc567.cn
  <head>
  <title>Reading Response Headers</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 doHeadRequest(request, url) {
  requestType = request;
  createXMLHttpRequest();
  xmlHttp.onreadystatechange = handleStateChange;
  xmlHttp.open("HEAD", url, true);
  xmlHttp.send(null);
  }
  function handleStateChange() {
  if(xmlHttp.readyState == 4) {
  if(requestType == "allResponseHeaders") {
  getAllResponseHeaders();
  }
  else if(requestType == "lastModified") {
  getLastModified();

文章来源于www.jc567.cn


  }
  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:doHeadRequest('allResponseHeaders',
   'readingResponseHeaders.xml');">Read All Response Headers</a> jc567.cn
  <br/>
  <a href="javascript:doHeadRequest('lastModified',
  'readingResponseHeaders.xml');">Get Last Modified Date</a>
  <br/>
  <a href="javascript:doHeadRequest('isResourceAvailable',
  'readingResponseHeaders.xml');">Read Available Resource</a>
  <br/>
  <a href="javascript:doHeadRequest('isResourceAvailable',
   'not-available.xml');">Read Unavailable Resource</a>
  </body>
  </html>


共2页: 上一页 1 [2] 下一页
Tags:实现基本Ajax技术,读取响应首部
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为