创建跨平台的Ajax应用

类别:Java 点击:0 评论:0 推荐:
作者: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规定的标准技术[1], 所以在不同的浏览器上,创建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


本文地址:http://com.8s8s.com/it/it9903.htm