欢迎来到天天文库
浏览记录
ID:9313271
大小:549.00 KB
页数:70页
时间:2018-04-27
《使用xmlhttprequest对象小结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2.1XMLHttpRequest对象概述 http://book.csdn.net/2006-5-1610:56:00图书导读当前章节:2.1XMLHttpRequest对象概述·1.6使用场合·1.7设计考虑·1.8小结·2.2方法和属性·2.3交互示例·2.4GET与POST在使用XMLHttpRequest对象发送请求和处理响应之前,必须先用JavaScript创建一个XMLHttpRequest对象。由于XMLHttpRequest不是一个W3C标准,所以可以采用多种方法使用JavaScript来创建XMLHttpRequest的实例。In
2、ternetExplorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Firefox、Safari和Opera)把它实现为一个本地JavaScript对象。由于存在这些差别,JavaScript代码中必须包含有关的逻辑,从而使用ActiveX技术或者使用本地JavaScript对象技术来创建XMLHttpRequest的一个实例。很多人可能还记得从前的那段日子,那时不同浏览器上的JavaScript和DOM实现简直千差万别,听了上面这段话之后,这些人可能又会不寒而栗。幸运的是,在这里为了明确该如何创建XMLHttpRe
3、quest对象的实例,并不需要那么详细地编写代码来区别浏览器类型。你要做的只是检查浏览器是否提供对ActiveX对象的支持。如果浏览器支持ActiveX对象,就可以使用ActiveX来创建XMLHttpRequest对象。否则,就要使用本地JavaScript对象技术来创建。代码清单2-1展示了编写跨浏览器的JavaScript代码来创建XMLHttpRequest对象实例是多么简单。代码清单2-1 创建XMLHttpRequest对象的一个实例varxmlHttp; functioncreateXMLHttpRequest(){ if(wind
4、ow.ActiveXObject){ xmlHttp=newActiveXObject("Microsoft.XMLHTTP"); } elseif(window.XMLHttpRequest){ xmlHttp=newXMLHttpRequest(); }}可以看到,创建XMLHttpRequest对象相当容易。首先,要创建一个全局作用域变量xmlHttp来保存这个对象的引用。createXMLHttpRequest方法完成创建XMLHttpRequest实例的具体工作。这个方法中只有简单的分支逻辑(选择逻辑)来
5、确定如何创建对象。对window.ActiveXObject的调用会返回一个对象,也可能返回null,if语句会把调用返回的结果看作是true或false(如果返回对象则为true,返回null则为false),以此指示浏览器是否支持ActiveX控件,相应地得知浏览器是不是InternetExplorer。如果确实是,则通过实例化ActiveXObject的一个新实例来创建XMLHttpRequest对象,并传入一个串指示要创建何种类型的ActiveX对象。在这个例子中,为构造函数提供的字符串是Microsoft.XMLHTTP,这说明你想创建XM
6、LHttpRequest的一个实例。如果window.ActiveXObject调用失败(返回null),JavaScript就会转到else语句分支,确定浏览器是否把XMLHttpRequest实现为一个本地JavaScript对象。如果存在window.XMLHttpRequest,就会创建XMLHttpRequest的一个实例。由于JavaScript具有动态类型特性,而且XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。这就大大简化了
7、开发过程,而且在JavaScript中也不必编写特定于浏览器的逻辑。2.2方法和属性 http://book.csdn.net/2006-5-1610:56:00图书导读当前章节:2.2方法和属性·1.7设计考虑·1.8小结·2.1XMLHttpRequest对象概述·2.3交互示例·2.4GET与POST·2.5远程脚本表2-1显示了XMLHttpRequest对象的一些典型方法。不要担心,稍后就会详细介绍这些方法。表2-1 标准XMLHttpRequest操作方 法描 述abort()停止当前请求getAllResponseHeaders
8、()把HTTP请求的所有响应首部作为键/值对返回getResponseHeader("header")返回指
此文档下载收益归作者所有