AJAX,一个异步JavaScript和XML的缩略词,是最近出来的技术词语。异步意味着你可以经由超文本传输协议(站点而不需刷新该页面。
然而,在这项新技术提供巨大能力的同时,它也引起了在"Back"按钮问题上的很多争论。本文将帮助你确定在真实世界中何时使用AJAX是最佳选择。
首先,我假定你对缩略词JavaScript和XML部分有一个基本了解。尽管你能通过AJAX请求任何类型的文本文件,但是我在此主要集中讨论XML。
我将解释怎样在真实世界中使用AJAX以及怎样在一个工程中评估它的价值。在你读完本文后,你将会明白什么是AJAX,在什么情况下,为什么以及怎样使用这项技术。你将要学习,在保持给用户提供直观体验的同时怎样创建对象,发出请求以及定制响应。
我已创建了一个适合于本文的示例工程。
这个示例实现了一个简单的请求-它装载一个包含页面内容的XML文件并且分析数据以把它显示在一个HTML页面中。
二、 常规属性和方法
表1和2提供了一个属性和方法的概述-它们为Windows Internet Explorer 5,Mozilla,Netscape 7,Safari 1。
2,和表1属性 属性 描述 onreadystatechange 当请求对象变化时该事件处理器激活。 readyState 返回指示对象的当前状态的值。 responseText 来自服务器的响应串的版本。 responseXML 来自服务器的响应的DOM兼容的文档对象。
status 来自服务器的响应的状态码。 statusText 以一个字符串形式返回的状态消息。
表2方法 方法 描述 Abort() 取消当前头部的值。
open("method","URL"[,asyncFlag[,"userName"[,"password"]]])
初始化一个MSXML2。XML请求到服务器并接收响应。
setRequestHeader("label", "value")
指定一个HTTP头的名字。
三、 从哪里开始
首先,你需要创建XML文件-后面我们对之进行请求并作为页面内容进行分析。你正在请求的文件必须与目标工程驻留在相同的服务器上。
下一步,创建发出请求的HTML文件。当页面通过使用页面主体中的onload方法进行加载时,该请求发生。接着,该文件需要一个有ID的div标签,这样当我们准备好要显示内容时就可以对之进行定位。当你做完所有这些,你的页面的主体看上去如下:<body onload="makeRequest('xml/content。
xml');"><div id="copy"></div></body>
四、 创建请求对象
为了创建请求对象,你必须检查是否浏览器使用XML。这两个对象之间的主要区别在于使用它们的浏览器。
Windows IE 5 及以上版本使用ActiveX对象;而Mozilla,Netscape 7,Opera和Safari 1。2及以上版本使用XML构造器中。
下面是怎样创建代码来决定要使用哪个对象和怎样创建它的示例:if(window。XML。
XMLHTTP");}。