使用XMLHTTP获取XML文档并生成XMLDOM
客户端利用XMLHTTP发送请求得到服务端应答数据,并用Javascript操作DOM最终更新页面- 又称无刷新更新页面,有代替传统web开发中采用form(表单)递交方式更新web页面的趋势。XMLHTTP依赖于XMLHttpRequest完成从客户端的请求到服务端的应答。XMLHttpRequest提供了两个方法open和send。open方法用于初始化XMLHttpRequest对象、指示请求的方式(get、post等)、安全性连接等,在调用open方法后必须调用send方法发送Http Request(Http请求)以返回Http Reponse(Http应答)。 看MSDN中对send方法的简介: This method is synchronous or asynchronous,depending on the value of the bAsync parameter in the open call. If open is called with bAsync == False,this call does not return until the entire response is received or the protocol stack times out. If open is called with bAsync == True,this call returns immediately. MSXML中提供了Microsoft.XMLHTTP对象,能够完成从数据包到Request对象的转换以及发送任务。 var Http = new ActiveXObject("Microsoft.XMLHTTP"); 对象创建后调用Open方法对Request对象进行初始化,语法格式为: Open方法中包含了5个参数,前三个是必要的,后两个是可选的(在服务器需要进行身份验证时提供)。参数的含义如下所示: XMLHTTP对象的Send方法 用Open方法对Request对象进行初始化后,调用Send方法发送请求: Http .send() Send方法的参数类型是Variant,可以是字符串、DOM树或任意数据流。发送数据的方式分为同步和异步两种。在异步方式下,数据包一旦发送完毕,就结束Send进程,客户机执行其他的操作;而在同步方式下,客户机要等到服务器返回确认消息后才结束Send进程。 0 Response对象已经创建,但XML文档上载过程尚未结束 客户机处理响应信息 responseTxt:将返回消息作为文本字符串; ------一个很简单的javascript例子,将获取XML文本生成字XMLDOM对象--------------- 我们再来看看异步调用的例子: <script> send方法是否同步或异步工作取决于open方法中的bAsync参数,如果bAsync == False表示send方法工作在同步状态下,发送http请求后,只有当客户端接收到来自服务端的全部应答数据或协议栈超时返回!反之bAsync == True,工作在异步状态下,直接返回。 服务端返回应答数据并完全被加载, 可通过XMLHttpRequest属性readState获知,其值变为4 - COMPLETED (已加载完成),当readState变化时会调用XMLHttpRequest对象中的回调函数onreadstatechange,在函数中验证xmlhttp.readyState == 4,这里得到的是XML文档(如果服务端有返回xml文档数据). 转载出处:http://hzyup.blog.163.com/blog/static/103326012007826115221879/(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |