网络编程
位置:首页>> 网络编程>> XML编程>> 使用 XML HTTP Request 对象[翻译](2)

使用 XML HTTP Request 对象[翻译](2)

作者:子乌 来源:子乌的叶子 发布时间:2007-11-07 21:11:00 

标签:XML,XMLHTTP,ajax

我如何提出一个请求?

提出一个HTTP请求非常简单。你告诉XML HTTP request对象你需要提出什么类型的HTTP请求以及你要请求的URL。提供一个函数给它在请求完成的时候调用,以及最后,你需要在这个请求的主体中发送的内容(如果有的话)。

下面的脚本创建了一个针对相对链接(相对于请求页面)“text.txt”的GET请求。它提供了一个可供调用的函数,当属性每次变化的时候它都将被调用,而当该属性值成为4的时候--意味着加载完成,它使用一个来显示给用户。


xmlhttp.open("GET", "test.txt",true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   alert(xmlhttp.responseText)
  }
 }
 xmlhttp.send(null)


提出一个HEAD请求

子乌注:我会将header翻译成报头,HEAD保持原文,resource翻译成资源。个人感觉报头比较能体现header的原义。……嗯?你不知道报头是啥??这个不是报纸头。如果你了解底层消息的定义,你就会知道,一条消息,不管是email,或者是短信,都会至少有两个部分:报头和报文,报头中包含着这条消息的信息,而报文则是正文。这是大概解释,还是不清楚的话就去google吧……对于一个HEAD请求,服务器指挥返回指定资源的,而不包括资源本身,这意味着你能够在不下载一个文档的情况下得知该文档的Content-Type或者Last-Modified。

一个典型的HEAD请求也许会返回类似底下的内容:


HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Cache-Control: max-age=172800
Expires: Sat, 06 Apr 2002 11:34:01 GMT
Date: Thu, 04 Apr 2002 11:34:01 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Thu, 14 Mar 2002 12:06:30 GMT
ETag: "0a7ccac50cbc11:1aad"
Content-Length: 52282


要提出HEAD请求,你只需要简单将第一个参数替换成,然后就可以使用获取报头或者使用取得单独的报头。


xmlhttp.open("HEAD", "/faq/index.html",true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   alert(xmlhttp.getAllResponseHeaders())
  }
 }
 xmlhttp.send(null)


使用HEAD请求,找到另一个文件的最后修改时间。

HEAD请求的用途之一,就是获取某个url的修改时间,将之前的例子扩展一下,你将得到如下代码:


xmlhttp.open("HEAD", "/faq/index.html",true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   alert("文件最后修改时间 : "+
    xmlhttp.getResponseHeader("Last-Modified"))
  }
 }
 xmlhttp.send(null)


0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com