同时让我们高兴得是xmlhttp并不是IE特有的东西,虽然目前还不是W3C的标准,不过IE, Netscape/Mozilla, 和Safari都支持。在IE中我们使用new ActiveXObject('MSXML2.XMLHTTP')或者new ActiveXObject("Microsoft.XMLHTTP")来获得的xmlhttp对象实例,使用前者还是后者和客户端机器安装的MSXML版本有关。在Netscape/Mozilla和Safari中,使用new XMLHttpRequest()来获得xmlhttp对象实例。比如在IE中,我们通常这样使用:
使用xmlhttp对象其实是并不是什么困难的事,它一共就6个方法8个属性。不过它最主要的是提供了两种执行模式:同步模式和异步模式。同步模式可以比较精确的控制程序流程,可是如果服务器的Response太慢,browser会有死掉失去相应的问题;而使用异步模式由于是事件触发方式控制流程,会给程序运行带来一些不可与预计的问题,因为你不知道客户端等待服务器Response的过程中,用户会在browser里做什么操作
。
下面是一个同步方式获取服务器数据的简单示例:
XMLHTTP对象的属性和方法列表(来自IXMLHTTPRequest接口):
|
|
这里面显然就open方法比较麻烦,带了一大堆参数,它们的含义分别是:
|
异步通讯的示例:
其实使用xmlhttp就这么简单,复杂的是服务器端数据的组织方式,而且需要开发人员同时熟悉Client和Server端的开发,才能事半功倍。可是好像说了半天这个玩意儿和xml没有什么关系啊,怎么叫xmlhttp呢?我们注意到response的数据类型中有一个responseXML,不过它解析返回的XMLDocument属于XMLDOM的内容了,和使用xmlhttp来和服务器通讯的关系并不大,以后再来细说。
博客介绍了XMLHTTP对象,其有6个方法8个属性,主要提供同步和异步两种执行模式。同步模式可精确控制流程,但服务器响应慢时浏览器会失去响应;异步模式由事件触发,存在不可预计问题。还提到使用该对象简单,难点在服务器端数据组织,需熟悉两端开发。
2105

被折叠的 条评论
为什么被折叠?



