|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.xmlMSXML中供应了Microsoft.XMLHTTP工具,可以完成从数据包到Request工具的转换和发送义务。创立XMLHTTP工具的语句以下:
SetobjXML=CreateObject("Msxml2.XMLHTTP")或
SetobjXML=CreateObject(“Microsoft.XMLHTTP”)
Or,forversion3.0ofXMLHTTP,use:
Setxml=Server.CreateObject("MSXML2.ServerXMLHTTP")工具创立后挪用Open办法对Request工具举行初始化,语法格局为:
poster.openhttp-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.sendXML-data
Send办法的参数范例是Variant,能够是字符串、DOM树或恣意数据流。发送数据的体例分为同步和异步两种。在异步体例下,数据包一旦发送终了,就停止Send历程,客户机实行其他的操纵;而在同步体例下,客户秘密比及服务器前往确认动静后才停止Send历程。
XMLHTTP工具中的readyState属功能够反应出服务器在处置哀求时的停顿情况。客户机的程序能够依据这个形态信息设置响应的事务处置办法。属性值及其寄义以下表所示:
值申明
0Response工具已创立,但XML文档上载历程还没有停止
1XML文档已装载终了
2XML文档已装载终了,正在处置中
3部分XML文档已剖析
4文档已剖析终了,客户端能够承受前往动静客户机处置呼应信息
客户机吸收到前往动静后,举行复杂的处置,基础上就完成了C/S之间的一个交互周期。客户机吸收呼应是经由过程XMLHTTP工具的属性完成的:
●responseTxt:将前往动静作为文本字符串;
●responseXML:将前往动静视为XML文档,在服务器呼应动静中含有XML数据时利用;
●responseStream:将前往动静视为Stream工具
------就是上面这个很复杂的JAVASCRIPT函数SEND(STR,URL)---------------利用到的是XMLDOM和XMLHTTP工具.用这类手艺的优点是:全JS把持,便利/复杂,比RDS
大概remote很多多少了.(条件:服务器端和客户端都必需安装IE5大概更高版本),在俺贴的
谁人无革新在线信息功效利用的也是这类手艺.有乐趣的伴侣能够看看..functionSend(Str,URL)
//STR参数是传进的XML数据,你也能够传进其他文本数据.
//不外这个函数必要服务器端处置以后前往XML数据,你也能够修正一下
//URL参数暗示你所要处置数据的ASP文件地点
{
varHttp=newActiveXObject("Microsoft.XMLHTTP")//创建XMLHTTP工具
varDom=newActiveXObject("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
{
varBack=Dom.documentElement.childNodes.item(0).text
//失掉前往的XML数据,我这里假定处置程序只前往一行XML数据(一个节点)
delete(Http)
delete(Dom)
return(Back)//函数前往数据.......................停止
}
}VARCAT=Send("<用户材料><姓名>谢柠檬</姓名></用户材料>","")//实行函数
IF(CAT==FALSE)
{
ALERT("对不起.处置程序前往的是FALSE.数据处置已失利........")
}
ELSE
{
IF(EVAL(CAT))
{
ALERT("OK.数据已发送乐成.兼以处置完成!!!!!!")
}
ELSE
{
ALERT("对不起.处置程序前往的是FALSE.数据处置已失利........")
}
}========================VIVA.ASP======================
ONERRORRESUMENEXT
DIMBOBO
DIMMOMO
SETBOBO=SERVER.CREATEOBJECT("MICROSOFT.XMLDOM")
BOBO.ASYNC=FALSE
BOBO.LOADREQUEST
IFBOBO.PARSEERROR.ERRORCODE0THEN
RESPONSE.WRITE("<程序处置了局><终极了局>FALSE</终极了局></程序处置了局>")
ELSE
SETMOMO=BOBO.DOCUMENTELEMENT
IFMOMO.CHILDNODES.ITEM(0).TEXT="谢柠檬"THEN
RESPONSE.WRITE("<程序处置了局><终极了局>TRUE</终极了局></程序处置了局>")
ELSE
RESPONSE.WRITE("<程序处置了局><终极了局>FALSE</终极了局></程序处置了局>")
ENDIF
ENDIF
SETBOBO=NOTHING由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; |
|