日期:2014-05-17  浏览次数:20691 次

关于利用xmlhttp取数据
我用ASP写了一个类似于QQ聊天的聊天工具,

利用application来进行一对一的聊天,为了能及时显示信息,我页面每隔一秒刷新一次,来输出application的值。但这个我不满意,后来别人给我说,可以用
“xmlhttp取数据”,但不我晓得这是什么,在网上查找一些,也是不痛不痒的东西,,

在这里想请大家帮我解说一下,”利用xmlhttp取数据“是怎么回事,且怎么使用,最好有点简单的例子

------解决方案--------------------
以下是在网上随便搜的, 建议LZ自己上网艘艘,网上资源很丰富

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:服务端表名

然后提交指令,等待并接收返回的处理结果。结果以字符串方式返回。

最后由函数调用者处理并显示结果。

------解决方案--------------------
XMLHTTP+Javascript+Asp写的聊天室

http://www.google.com/search?hl=zh-CN&q=xmlhttp+%E8%81%8A%E5%A4%A9%E5%AE%A4&lr=