All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL SERVER数据库开发之存储过程应用_[SQL Server教程]
Delphi浏览sql server数据库中的信息
C#中的try
正则表达式限制文本框只能输入数字,小数点,英文字母,汉字
一次编辑,GridView,的所有行_[Asp.Net教程]
关于MSSQL数据库日志满的快速解决办法_[SQL,Server教程]
javascript常用检测脚本实例代码_JavaScript技术_编程技术
ASP.NET代码控制页面部分元素隐藏与显示_[Asp.Net教程]
再谈.Net,异步处理_[Asp.Net教程]
保护,SQL,Server,数据库的十大绝招_[SQL,Server教程]
Reading number is top 10 pictures
yy365网站上的美女1
人物写真-谢楠
The household design, do not do bridal chamber a pity
Sora aoi on twitter5
中国的阶级现状
原子弹轰炸长崎的珍贵照片
青春清纯美女大集合2
Summer is most suitable for young people to travel in China1
The Soviet union swimsuit exposure in the 70 year2
Play for Free show breast in a world of ice and snow
Download software ranking
Boxer Classic video1
都市狐狸姑娘传
Call Of Duty5
C#COM编程指南
Unix video tutorial5
Tram sex maniac 2 (H) rar bag5
豪门浪荡史
SP4 for SQL2000
Sora aoi, the maid, students' uniforms
Unix video tutorial14
归海一刀 published in(发表于) 2014/3/20 5:12:08 Edit(编辑)
XMLHTTP对象应用开发的初体验_[XML教程]

XMLHTTP对象应用开发的初体验_[XML教程]

XMLHTTP对象应用开发的初体验_[XML教程]

MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到Request对象的转换以及发送任务。创建XMLHTTP对象的语句如下:


Set objXML = CreateObject("Msxml2.XMLHTTP") 或

Set objXML = CreateObject(“Microsoft.XMLHTTP”)

' Or, for version 3.0 of XMLHTTP, use:

' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")


  对象创建后调用Open方法对Request对象进行初始化,语法格式为:


poster.open http-method, url, async, userID, password


  Open方法中包含了5个参数,前三个是必要的,后两个是可选的(在服务器需要进行身份验证时提供)。参数的含义如下所示:

http-method: HTTP的通信方式,比如GET或是 POST

url: 接收XML数据的服务器的URL地址。通常在URL中要指明 ASP或CGI程序

async: 一个布尔标识,说明请求是否为异步的。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作

userID 用户ID,用于服务器身份验证

password 用户密码,用于服务器身份验证

  XMLHTTP对象的Send方法


  用Open方法对Request对象进行初始化后,调用Send方法发送XML数据:


poster.send XML-data


  Send方法的参数类型是Variant,可以是字符串、DOM树或任意数据流。发送数据的方式分为同步和异步两种。在异步方式下,数据包一旦发送完毕,就结束Send进程,客户机执行其他的操作;而在同步方式下,客户机要等到服务器返回确认消息后才结束Send进程。


XMLHTTP对象中的readyState属性能够反映出服务器在处理请求时的进展状况。客户机的程序可以根据这个状态信息设置相应的事件处理方法。属性值及其含义如下表所示:



说明
0
Response对象已经创建,但XML文档上载过程尚未结束
1
XML文档已经装载完毕
2
XML文档已经装载完毕,正在处理中
3
部分XML文档已经解析
4
文档已经解析完毕,客户端可以接受返回消息

  客户机处理响应信息

  客户机接收到返回消息后,进行简单的处理,基本上就完成了C/S之间的一个交互周期。客户机接收响应是通过XMLHTTP对象的属性实现的:

● responseTxt:将返回消息作为文本字符串;

● responseXML:将返回消息视为XML文档,在服务器响应消息中含有XML数据时使用;

● responseStream:将返回消息视为Stream对象

  就是下面这个很简单的JAVASCRIPT函数SEND(STR,URL)


  使用到的是XMLDOM和XMLHTTP对象.用这种技术的好处是:全JS控制,方便/简单,比RDS或者remote好多了.(前提:服务器端和客户端都必须安装IE5或者更高版本),在俺贴的那个无刷新在线信息功能使用的也是这种技术.有兴趣的朋友可以看看。


function Send(Str,URL)

//STR参数是传入的XML数据,你也可以传入其他文本数据.

//不过这个函数需要服务器端处理之后返回XML数据,你也可以修改一下

//URL参数表示你所要处理数据的ASP文件地址

{

 var Http = new ActiveXObject("Microsoft.XMLHTTP") //建立XMLHTTP对象

 var Dom = new ActiveXObject("Microsoft.XMLDOM") //建立XMLDOM对象

 Http.open("POST",URL,false)

 //第一个参数的意思是,用"POST"方式发送数据.可以大到4MB,也可以换为"GET".只能256KB

 //第2个参数的意思是数据发送到哪个文件处理

 //第3个参数意思是同步或异步方式.TRUE为异步,FALSE为同步

 Http.send(Str) //开始发送数据.............嘟嘟..

 Dom.async=false //设置为同步方式获取数据

 Dom.loadXML(Http.responseText)

 //开始获取服务器端处理后返回的数据.我在这里设置必须为XML数据,否则出错.

 //你也可以自己修改.使返回的是2进制或者记录集数据.................................

 if(Dom.parseError.errorCode != 0) //检查是否发生获取数据时错误

 {

delete(Http)

delete(Dom)

return(false)

 }

 else

 {

var Back = Dom.documentElement.childNodes.item(0).text

//得到返回的XML数据,我这里假设处理程序只返回一行XML数据(一个节点)

delete(Http)

delete(Dom)

return(Back) //函数返回数据.......................结束

 }

}

VAR CAT = Send("<用户资料><姓名>谢柠檬","http://WWW.CHINAASP.COM/VIVA.ASP") //执行函数

IF(CAT == FALSE)

{

 ALERT("对不起.处理程序返回的是FALSE.数据处理已经失败........")

}

ELSE

{

 IF(EVAL(CAT))

{

 ALERT("OK.数据已经发送成功.兼以处理完成!!!!!!")

}

ELSE

{

 ALERT("对不起.处理程序返回的是FALSE.数据处理已经失败........")

}

}

===============================VIVA.ASP============================

ON ERROR RESUME NEXT

DIM BOBO

DIM MOMO

SET BOBO = SERVER.CREATEOBJECT("MICROSOFT.XMLDOM")

BOBO.ASYNC = FALSE

BOBO.LOAD REQUEST

IF BOBO.PARSEERROR.ERRORCODE <> 0 THEN

RESPONSE.WRITE("<程序处理结果><最终结果>FALSE")

ELSE

SET MOMO = BOBO.DOCUMENTELEMENT

IF MOMO.CHILDNODES.ITEM(0).TEXT = "谢柠檬" THEN

RESPONSE.WRITE("<程序处理结果><最终结果>TRUE")

ELSE

RESPONSE.WRITE("<程序处理结果><最终结果>FALSE")

END IF

END IF

SET BOBO = NOTHING







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.