作者:TurboChen 创建日期:2005-5-10 版本所有
何为Ajax?Ajax不是什么新技术,是Asynchronous JavaScript and XML的简称. 它是javascript和xml等技术应用的结合。具体包括: - DHTML和CSS
- 使用文档对象模型(Document Object Model)作动态显示和交互
- 使用XML和XSLT做数据交互和操作
- 使用XMLHttpRequest进行异步数据接收
- 使用JavaScript将它们绑定在一起
有了Ajax技术,我们可以在一定程度上实现Rich Internet Client界面。我们来看一个例子。要设计一个Web界面,用户从下拉式列表中选择一个省份,在另一个清单式列表中显示该省份的城市清单。而这些省份所拥有的城市数据是储存在服务器端数据库中的。在没有Ajax之前,用户在浏览器上每选择一次省份,则发生一次表单提交动作,将所选省份通过表单的POST 请求发送到Servlet/jsp,然后服务器又返回另一个Web页面,里面包含该省份的数据。而用户在浏览器中所看到的就是页面被重新刷新了一次,会有明显的界面迟滞效果。 在Ajax技术出现之后,这一切都成为过去。用户看到的几乎是即时刷新的Web界面。后面我们会详细讨论如何在不同浏览器平台上实现这个例子,以及不同浏览器上编写脚本所就注意的事项。 XMLHttpRequest---Ajax的灵魂要在浏览器上实现Ajax应用,需要创建一个XMLHttpRequest脚本对象,我们就是通过此对象来让javascript与服务器进行后台的异步交互,而交互的媒介就是XML. XMLHttpRequest并不是一个W3C规定的标准技术, 所以在不同的浏览器上,创建XMLHttpRequest对象的方式也不一样. 1) var xmlHttp; 2) if (window.XMLHttpRequest) 3) { 4) // 创建 Mozilla/FireFox平台的 XMLHttpRequest 对象 5) xmlHttp = new XMLHttpRequest(); 6) } else if (window.ActiveXObject) 7) { 8) // 创建 IE/Windows 平台的XMLHttp对象 9) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 10) }
以上代码就创建了XMLHttpRequest脚本对象. 其中第5行是FireFox平台上的创建方式, 我只在FireFox平台上测试过, 由于Firefox是采用Mozilla为内核,理论上也可以在Mozilla上运行.第9行是IE上的创建方式. 所幸的是, 虽然创建方式不一样,但这两种对象所提供的方法和属性几乎是一模一样的,
阅读全文: http://www.javagarden.net:8080/Wiki.jsp?page=Ajax2

|