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编程教程.txt**:初级级别的教程,适合初学者了解AJAX和XMLHttpRequest的入门知识。 - **TestInTeaching**:可能是一个教学测试项目,用于实践和检验学习成果。 通过这些...
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个...通过阅读这份"ajax入门教程PDF",初学者将能够快速理解Ajax的工作方式,掌握基本的Ajax编程技能,从而在实际项目中提升网页的交互性和动态性。
**Ajax基础教程** Ajax(Asynchronous ...通过阅读《Ajax从入门到精通.pdf》和《ajax基础教程.pdf》,你可以系统地学习Ajax的各个方面,从基础知识到进阶技巧,逐步提升自己的技能,成为一名精通Ajax的开发者。
总的来说,这个"AJAX入门实例"旨在帮助初学者理解AJAX的基本概念和工作流程,以及如何在ASP.NET环境中实现它。通过学习这个实例,你可以掌握创建异步Web应用的基本技巧,提高用户体验,并为后续更复杂的AJAX应用场景...
Ajax,即Asynchronous JavaScript and XML...这个简单的示例展示了Ajax的基本工作流程,包括创建XMLHttpRequest对象、发起请求、处理响应和更新页面。在实际应用中,可以扩展这个基础框架,实现更多复杂的交互和功能。
《Ajax+修炼之道-Web+2.0+入门》是一本专为Web开发人员准备的指南,特别是对那些想要深入理解Ajax技术和Web 2.0概念的初学者。这本书以英文编写,适合有一定英语基础的读者,通过学习,你可以掌握构建动态、交互性强...
在《C#入门经典(第四版)》的第22章中,作者深入探讨了AJAX编程这一现代Web开发中的关键技术。AJAX,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种用于创建快速动态网页的技术。通过在后台...
在这篇入门教程中,我们将会了解到如何使用JavaScript来实现在网页上异步请求服务器数据的机制,使得用户无需重新加载整个页面即可更新部分页面内容。 AJAX技术的核心在于其能够让Web应用程序与服务器进行异步通信...
Ajax并非一种全新的编程语言,而是利用已有的Web技术(如HTML、JavaScript、DOM和XML)的组合,实现异步数据交换,提升了用户体验,使得Web应用更具响应性和交互性。 【核心技术组件】 1. **HTML**:HTML(超文本...
**Ajax 快车道:入门宝典** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,大大提升了用户体验...
在【压缩包子文件的文件名称列表】中,"HDI-B1-GettingStarted-CS"可能是教程的主文件,包含了AJAX入门的具体步骤、代码示例和解释。这通常包括HTML、CSS和JavaScript文件,以及可能的服务器端脚本示例,用于展示...
本教程以"Ajax快速入门10个经典例子(带数据库文件)"为主题,旨在帮助初学者快速掌握Ajax的核心概念和应用。 1. **Ajax基础概念** - 异步性:Ajax的核心特性,允许页面在不刷新的情况下与服务器通信。 - ...
这个压缩包文件包含的“商业编程-源码-Ajax入门的三个实用小例子”是学习Ajax基础知识的理想实践资源。下面,我们将详细探讨这三个小例子所涵盖的Ajax技术知识点。 1. **创建Ajax对象** 在JavaScript中,Ajax的...
**Ajax(Asynchronous JavaScript and XML)...通过学习提供的"Ajax基础教程.pdf",可以深入理解这一技术,并借助"[说明].txt"解决学习中遇到的问题,而"幸运林 一个程序员的随笔.url"则可能提供更多的编程心得和技巧。
**Ajax入门基础教程** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是JavaScript,通过创建XMLHttpRequest对象,实现与服务器端的异步数据交换,...
总结,这个经典AJAX简单入门篇结合PDF教程和源码实例,将帮助你快速理解并掌握AJAX的基本用法和DOM操作,是学习Web开发中AJAX技术的宝贵资源。通过学习,你将能够构建更高效、更互动的网页应用程序。
**Ajax基础入门简介** Ajax(Asynchronous JavaScript and XML)是一种用于创建快速、动态网页的技术,它使得网页可以在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。这一技术的出现极大地提升...
4. **AJAX**:了解异步JavaScript和XML,以及如何使用XMLHttpRequest或现代的fetch API进行后台数据通信,实现页面无刷新更新。 5. **函数和闭包**:深入理解函数的概念,包括函数表达式、作用域、闭包,这些是...
对于想要学习Ajax的初学者,可以通过Ajax技术资源中心获取更多信息,包括文档、教程、论坛、博客、wiki和新闻,以深入了解Ajax编程模型。 总结起来,Ajax是一种强大的Web开发技术,通过JavaScript和XMLHttpRequest...