XML HTTPRequest对象

XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。

XMLHttpRequest 对象是开发者的梦想,因为您能够:

  • 在不重新加载页面的情况下更新网页
  • 在页面已加载后从服务器请求数据
  • 在页面已加载后从服务器接收数据
  • 在后台向服务器发送数据

所有现代的浏览器都支持 XMLHttpRequest 对象。

 

1. 创建 XMLHttpRequest 对象

通过一行简单的 JavaScript 代码,我们就可以创建 XMLHttpRequest 对象。

在所有现代浏览器中(包括 IE 7):

xmlhttp=new XMLHttpRequest()

 在 Internet Explorer 5 和 6 中:

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

 

实例

Code

注释:onreadystatechange 是一个事件句柄。它的值 (state_Change) 是一个函数的名称,当 XMLHttpRequest 对象的状态发生改变时,会触发此函数。状态从 0 (uninitialized) 到 4 (complete) 进行变化。仅在状态为 4 时,我们才执行代码。

 

 为什么使用 Async=true ?

我们的实例在 open() 的第三个参数中使用了 "true"。

该参数规定请求是否异步处理。

True 表示脚本会在 send() 方法之后继续执行,而不等待来自服务器的响应。

onreadystatechange 事件使代码复杂化了。但是这是在没有得到服务器响应的情况下,防止代码停止的最安全的方法。

通过把该参数设置为 "false",可以省去额外的 onreadystatechange 代码。如果在请求失败时是否执行其余的代码无关紧要,那么可以使用这个参数。

 

 更多实例:

 1) 当键入文本时与服务器进行 XML HTTP 通信

Code

 2)  通过 XML HTTP 把一个 textfile 载入一个 div 元素中

Code

 3)  通过 XML HTTP 进行 HEAD 请求

Code

 4)  通过 XML HTTP 进行指定的 HEAD 请求

Code

 5)  通过 XML HTTP 列出 XML 文件中的数据

Code

 

2. XML / ASP

您也可以把 XML 文档打开并发送到服务器上的 ASP 页面,分析此请求,然后传回结果。

Code

 

ASP 页面,由 VBScript 编写:

<%
set xmldoc = Server.CreateObject("Microsoft.XMLDOM")
xmldoc.async
=false
xmldoc.load(request)

for each x in xmldoc.documentElement.childNodes
   
if x.NodeName = "to" then name=x.text
next
response.write(name)
%
>

 

通过使用 response.write 属性把结果传回客户端。

 

 

posted on 2009-05-18 16:12  炜升  阅读(578)  评论(0编辑  收藏  举报