ajax组件--xmlhttp

XMLHTTP的使用

  顾名思义,XMLHTTP是个传送XML格式数据的超文本传输协议。

  实际上,XMLHTTP的数据传输过程更为灵活一些:

  它上传的指令可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。还可以是URL的参数。

  它下达的结果可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。

  详情可参阅文末链接。

  客户端调用XMLHTTP的过程很简单,只有5个步骤:

  1、创建XMLHTTP对象

  2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。

  客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页。

  3、发送指令。

  4、等待并接收服务端返回的处理结果。

  5、释放XMLHTTP对象

  XMLHTTP方法

  Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword

  bstrMethod:数据传送方式,即GET或POST。

  bstrUrl:服务网页的URL。

  varAsync:是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。应用中一般将其置为False,即异步执行。

  bstrUser:用户名,可省略。

  bstrPassword:用户口令,可省略。

  Send varBody

  varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。

  setRequestHeader bstrHeader, bstrValue

  bstrHeader:HTTP 头(header)

  bstrValue:HTTP 头(header)的值

  如果Open方法定义为POST,可以定义表单方式上传xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

  XMLHTTP属性

  onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。

  responseBody:结果返回为无符号整数数组。

  responseStream:结果返回为IStream流。

  responseText :结果返回为字符串。

  responseXML:结果返回为XML格式数据。

  下面是本文附件源程序中的一个应用示例:

  Function GetResult(urlStr)

  Dim xmlHttp

  Dim retStr

  Set xmlHttp = CreateObject("Msxml2.XMLHTTP") '创建对象

  On Error Resume Next '出错处理

  xmlHttp.Open "POST", urlStr, False '用POST方式打开连接,异步执行。

  xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" '上传表单

  xmlHttp.Send '发送指令

  If Err.Number = 0 Then '如果连接正确

  retStr = xmlHttp.responseText '等待并获得服务端返回的结果字符串

  Else

  retStr = "Url not found" '否则返回出错信息

  End If

  Set xmlHttp = nothing '释放对象

  GetResult = retStr '返回结果

  End Function

  GetResult()函数带入一个服务网页的URL参数,把上传的指令安放在URL后面的参数上,如:

  urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table

  cmd:执行方式,例如查询,修改,删除等等。

  db:服务端数据库名

  table:服务端表名

  然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。最后由函数调用者处理并显示结果。


posted on 2007-06-13 10:14 chenguo 阅读(114) 评论(0)  编辑  收藏 所属分类: AJAX Dev


只有注册用户登录后才能发表评论。


网站导航:
 
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

留言簿

随笔分类(1)

文章分类(52)

好友 小山的博客

最新随笔

最新评论