DOM及XmlHttp的使用

//--------------------------------------------------Begin---------------------------------------------------------
//一:创建Dom对象objDom

 //------------------------------------------------------
 //JScript/JavaScript:
 // var doc = new ActiveXObject("Microsoft.XMLDOM") 
 //VB Script:
 // Dim doc
 // Set doc = CreateObject("Microsoft.XMLDOM")
 //VB:
 // Dim doc As Object
 // Set doc = CreateObject("Microsoft.XMLDOM")
 //或者
 // Dim doc As DOMDocument
 // Set doc = New DOMDocument
 //------------------------------------------------------

 var objDom = new ActiveXObject("MICROSOFT.XMLDOM")
 objDOM.loadXML("<root><action>Inquiry</action><data/></root>")
//二:添加节点到Dom对象objDom
 var objNodeChild
 objNodeChild = objDom.createElement(strNodeName) //strNodeName是要新增节点的名称
 objNodeChild.text = strNodeValue //strNodeValue是要新增节点的值
 objDom.selectSingleNode(strNodeParent).appendChild(objNodeChild) //strNodeParent是要添加节点的父节点的路径;

 //或者是添加属性到存在的节点
 var objNewAttr
 objNewAttr = objDom.createAttribute(strAttrName)
 objNewAttr.text = strAttrValue
 objDom.selectSingleNode(strNode).Attributes.setNamedItem(objNewAttr)
//三:使用xmlHttp
 //创建xmlHttp对象
 var objHttp = new ActiveXObject("MICROSOFT.XMLHTTP")
 objHttp.open("POST",strAspPageName,false) //false 代表不异步处理
 objHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
 //传递Dom对象到指定页面
 objHttp.send(objDom)
 //接受指定页面处理之后的Dom对象
 objDom.load(objHttp.ResponseStream)
 //之后就可以对objDom中的数据进行操作
//
//---------------------------------------------------End---------------------------------------------------------
''''''''''''''''''''''''''''''''''''''''''''''''''''Begin''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''下面部分是在后台ASP页面中执行的操作
''
''四:指定页面strAspPageName要做的操作
 ''创建Dom对象objBackDom,用来返回到前台
 dim objBackDom
 set objBackDom = CreateObject("MSXML2.DomDocument")

 objBackDom.load "<root><action>response</action><result>fail</result><desc></desc><data/></root>"

 ''创建Dom对象objGetDom用来接受前台传递的Dom对象
 dim objGetDom
 set objGetDom = CreateObject("MSXML2.DomDocument")

 ''设置异步处理为false
 ''异步处理----false 为取消异步处理  true为开启异步处理
 ''若关闭异步处理,则要等到文档完全load进来之后才能将控制权交给代码
 ''若打开异步处理,则访问xml文档时应该先判断myDom.readyState
 ''其中:    readyState = 0   表示  未初始化:调入文档没有开始
 ''         readyState = 1   表示  调入:Load方法正在执行
 ''         readyState = 2   表示  调入完成:Load 方法已经完成
 ''         readyState = 3   表示  交互阶段:DOM可以进行只读检验,数据部分解析
 ''         readyState = 4   表示  完成:数据完全解析,可以进行读/写操作
 objGetDom.async = false
 objGetDom.load Request

 ''之后要做的就是定义变量获取objGetDom中的节点的值
 dim strAction
 strAction = objGetDom.selectSingelNode("//action").text

 ''根据获得值与数据库进行数据交互
 dim RS,conn

 ''获得查询到的数据并生成objBackDom
 dim objNodeChild
 set ohjNodeChild = objBackDom.createElement(strNodeName) ''strNodeName是要添加的节点名称
 ohjNodeChild.text = strNodeValue ''strNodeValue是要添加的节点的值
 objBackDom.selectSingleNode(strNodeParent).appendChild(ohjNodeChild)  ''strNodeParent是要添加子节点的父节点路径

 ''返回objBackDom到Client端
 objBackDom.save Response
 Response.end
''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''End''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值