AJAX入门XMLHttpRequest慨述-AJAX编程教程
来源:互联网 发布:激光表面淬火知乎 编辑:程序博客网 时间:2024/06/05 14:00
http://www.mb5u.com/biancheng/AJAX/ajax_25892.html
由于javascript具有动态类型特性,而且XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。这就大大简化了开发过程,而且在javascript中也不必编写特定于浏览器的逻辑。
在使用XMLHttpRequest对象发送请求和处理响应之前,必须先用javascript创建一个XMLHttpRequest对象。由于XMLHttpRequest不是一个W3C标准,所以可以采用多种方法使用javascript来创建XMLHttpRequest的实例。Internet Explorer把XMLHttpRequest实现为一个ActiveX对象,其他浏览器(如Firefox、Safari和Opera)把它实现为一个本地javascript对象。由于存在这些差别,javascript代码中必须包含有关的逻辑,从而使用ActiveX技术或者使用本地javascript对象技术来创建XMLHttpRequest的一个实例。
很多人可能还记得从前的那段日子,那时不同浏览器上的javascript和DOM实现简直千差万别,听了上面这段话之后,这些人可能又会不寒而栗。幸运的是,在这里为了明确该如何创建XMLHttpRequest对象的实例,并不需要那么详细地编写代码来区别浏览器类型。你要做的只是检查浏览器是否提供对ActiveX对象的支持。如果浏览器支持ActiveX对象,就可以使用ActiveX来创建XMLHttpRequest对象。否则,就要使用本地javascript对象技术来创建。代码清单2-1展示了编写跨浏览器的javascript代码来创建XMLHttpRequest对象实例是多么简单。
代码清单2-1 创建XMLHttpRequest对象的一个实例
var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject(/"Microsoft.XMLHTTP/"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } |
可以看到,创建XMLHttpRequest对象相当容易。首先,要创建一个全局作用域变量xmlHttp来保存这个对象的引用。createXMLHttpRequest方法完成创建XMLHttpRequest实例的具体工作。这个方法中只有简单的分支逻辑(选择逻辑)来确定如何创建对象。对window.ActiveXObject的调用会返回一个对象,也可能返回null,if语句会把调用返回的结果看作是true或false(如果返回对象则为true,返回null则为false),以此指示浏览器是否支持ActiveX控件,相应地得知浏览器是不是Internet Explorer。如果确实是,则通过实例化ActiveXObject的一个新实例来创建XMLHttpRequest对象,并传入一个串指示要创建何种类型的ActiveX对象。在这个例子中,为构造函数提供的字符串是Microsoft.XMLHTTP,这说明你想创建XMLHttpRequest的一个实例。
如果window.ActiveXObject调用失败(返回null),javascript就会转到else语句分支,确定浏览器是否把XMLHttpRequest实现为一个本地javascript对象。如果存在window.
XMLHttpRequest,就会创建XMLHttpRequest的一个实例。
由于javascript具有动态类型特性,而且XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。这就大大简化了开发过程,而且在javascript中也不必编写特定于浏览器的逻辑
- AJAX入门XMLHttpRequest慨述-AJAX编程教程
- AJAX入门之XMLHttpRequest慨述
- AJAX XMLHttpRequest 对象入门
- AJAX入门之XMLHttpRequest概述
- AJAX入门之XMLHttpRequest概述
- AJAX入门语法XMLHttpRequest学习
- ajax处理过程,ajax入门,XMLHttpRequest对象
- Ajax ! XmlHttpRequest
- AJAX XMLHttpRequest
- AJAX--XMLHttpRequest
- Ajax XMLHTTPRequest
- AJAX XMLHttpRequest
- AJAX XMLHttpRequest
- Ajax XmlHttpRequest
- AJAX--XMLHTTPREQUEST
- Ajax--------XmlHttpRequest
- 【AJAX】XMLHttpRequest
- 【ajax】XMLHTTPRequest
- 刷新页面实现方式总结(HTML,ASP,JS)(
- C#中的委托和事件
- Sun J2EE技术认证企业架构师(第一阶段,共三阶段) (CX-310-051)
- web测试技术经典案例
- 应用架构指南2.0 Beta1发布
- AJAX入门XMLHttpRequest慨述-AJAX编程教程
- 关于RUNSTATS
- JWebUnit为Web应用程序创建测试用例的办法
- 用Ajax读取XML格式的数据
- rootkit for linux 7.大杀器---反汇编引擎xde
- Notes自动切换id和场所
- 人类是在偷懒中进步的,用一个windows批处理解决4个脚本到html的转换+更多
- mfc封装
- Asp.net Mvc 入门视频教程