[整理]自己整理的xmlHttp的使用,希望能抛砖引玉~~
时间:2005-01-20
来源:互联网
//--------------------------------------------------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''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//一:创建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''''''''''''''''''''''''''''''''''''''''''''''''''''''''
作者: venusfeng 发布时间: 2005-01-20
后台的处理机制采用的面向过程的方式(根据Action分发动作)
建议建立原子级页面,采用面向对象的思想会好些(不存在分发机制,一个原子级页面只处理一种情形)
建议建立原子级页面,采用面向对象的思想会好些(不存在分发机制,一个原子级页面只处理一种情形)
作者: venusfeng 发布时间: 2005-01-20
阅
作者: 崂山道士 发布时间: 2005-01-21
mark
作者: ioexception 发布时间: 2005-04-22
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28