本例包括
1.客户端用xmlHTTP 向服务器页面发送请求
2.服务器页面后台用C#中DataSet实现数据库的操作 并得到结果
3.客户端用xmlDOC 得到xmlHTTP返回的结果 并对结果进行操作
附录
XMLHTTP的常用方法和属性
XMLDOC的常用方法和属性
=========================
发送xmlHttp请求到服务器端
=========================
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","Default2.aspx",false,"","");
xmlhttp.send();
======================
服务器端的相关数据处理
======================
protected void Page_Load(object sender, EventArgs e)
{
//连接数据库
SqlConnection myConn = new SqlConnection("Data Source=192.168.0.36;Initial Catalog=Northwind;User ID=sa;Password=sa");
SqlDataAdapter myda = new SqlDataAdapter("select top 5 * from orders", myConn);
DataSet myds = new DataSet();
myConn.Open();
myda.Fill(myds);
myConn.Close();
// 把xml对象发送给客户端
Response.ContentType = "text/xml";
Response.Write(myds.GetXml());
Response.End();
}
=============================================
xmlDOC 得到xmlHTTP返回的结果 并对结果进行操作
=============================================
// 从服务器得到处理后的xml对象
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
xmlhttp.responseXML.createProcessingInstruction("xml"," version=\"1.0\" encoding=\"gb2312\"");
xmldom = xmlhttp.responseXML.documentElement;
//alert(xmldom.xml);
// 通过xmldom操作结果
var length = xmldom.getElementsByTagName("OrderID").length;
alert(length);
-----------------------------------附 录----------------------------------
以下内容 摘录于网上 对原作者的用心整理和无私分享表示感谢
========
XMLHTTP
========
Open方法
包含了5个参数,前三个是必要的,
后两个是可选的(在服务器需要进行身份验证时提供)。
参数的含义如下所示:
http-method: HTTP的通信方式,比如GET或是 POST
url: 接收XML数据的服务器的URL地址。通常在URL中要指明 ASP或CGI程序
async: 一个布尔标识,说明请求是否为异步的。
如果是异步通信方式(true),客户机就不等待服务器的响应;
如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作
userID 用户ID,用于服务器身份验证
password 用户密码,用于服务器身份验证
用Open方法对Request对象进行初始化后,调用Send方法发送XML数据
Send方法
参数类型是Variant,可以是字符串、DOM树或任意数据流。
发送数据的方式分为同步和异步两种。
在异步方式下,数据包一旦发送完毕,就结束Send进程,客户机执行其他的操作;
而在同步方式下,客户机要等到服务器返回确认消息后才结束Send进程。
XMLHTTP对象中的readyState属性
能够反映出服务器在处理请求时的进展状况。
客户机的程序可以根据这个状态信息设置相应的事件处理方法。
值 说明
0 Response对象已经创建,但XML文档上载过程尚未结束
1 XML文档已经装载完毕
2 XML文档已经装载完毕,正在处理中
3 部分XML文档已经解析
4 文档已经解析完毕,客户端可以接受返回消息
客户机接收响应是通过XMLHTTP对象的属性实现
responseText:将返回消息作为文本字符串;
responseBody:将返回消息作为HTML文档内容;
responseXML:将返回消息视为XML文档,在服务器响应消息中含有XML数据时使用;
responseStream:将返回消息视为Stream对象
=======
XMLDOC
=======
Document 对象属性
以下所列是可用的document对象属性:
1. async
2. attributes
3. childNodes
4. doctype
5. document.lement
6. firstChild
7. implementation
8. lastChild
9. nextSibling
10. nodeName
11. nodeType
12. nodevalue
13. ondataavailable
14. onreadystatechange
15. ownerdocument.
16. parentNode
17. parseError
18. previousSibling
19. readyState
20. url
21. validateOnParse
22. xml
以下列出关于document对象可用的方法。
1. abort
2. appendChild
3. cloneNode
4. createAttribute
5. createCDATASection
6. createComment
7. createdocument.ragment
8. createElement
9. createEntityReference
10. createNode
11. createProcessingInstruction
12. createTextNode
13. getElementsByTagName
14. hasChildNodes
15. insertBefore
16. load
17. loadXML
18. nodeFromID
19. parsed
20. removeChild
21. replaceChild
22. selectNodes
23. selectSingleNode
24. transformNode
下面列出来的是document对象可用的事件:
1. Ondataavailable
2. Onreadystatechange
Document 对象属性
以下所列是可用的document对象属性:
1. async
2. attributes
3. childNodes
4. doctype
5. document.lement
6. firstChild
7. implementation
8. lastChild
9. nextSibling
10. nodeName
11. nodeType
12. nodevalue
13. ondataavailable
14. onreadystatechange