今天学习ajax,张老师没有先说Ajax的概念,有什么组成等套话,而是先说了它的功能,就是不用刷新整个页面便可与服务器通讯,然后就举例进行讲解,感觉效果不错,对Ajax很容易理解。主要进行举例讲解了XMLHttpRequest 对象和Ajax的一个很常用的框架dwr。
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。它使用XHTML+CSS来表示信息; 使用Javascript操作Document Object Model进行动态显示及交互; 使用 XML 和 XSLT 进行数据交换及相关操作; 使用 XMLHttpRequest对象与Web服务器进行异步数据交换; 使用 JavaScript 将所有的东西绑定在一起。
它是一种不用刷新整个页面便可与服务器通讯的办法,有很多Ajax框架,我们可以放入我们的项目进行使用,框架的主要优点就是,如果使用一组框架构造了一个网页,可以只更新其中一个框架,而不必惊动整个页面。
XMLHttpRequest是Ajax技术中要使用的主要对象:该对象是对 JavaScript 的一个扩展,可使网页与服务器进行通信。是创建 Ajax 应用的最佳选择。实际上通常把 Ajax 当成 XMLHttpRequest 对象的代名词。
Ajax工具包
“Ajax并不是一项技术,它实际上是几种技术,每种技术各尽其职,以一种全新的方式聚合在一起“,它住作用在客户端页面,服务器需要具备向浏览器发送特定信息的能力。Ajax与服务器端语言无关。
XML (eXtensible Markup Language,可扩展标记语言) 是一种描述数据的格式。Aajx 程序需要某种格式化的格式来在服务器和客户端之间传递信息,但 XML 只是其中的一种选择。
XHTML(eXtended Hypertext Markup Language,使用扩展超媒体标记语言)和 CSS(Cascading Style Sheet,级联样式单)标准化呈现;
DOM(Document Object Model,文档对象模型)实现动态显示和交互;
使用XMLHTTP组件XMLHttpRequest对象进行异步数据读取;
使用JavaScript绑定和处理所有数据。
Ajax的缺陷
AJAX不是完美的技术。使用AJAX,它的一些缺陷不得不权衡一下:
由Javascript和AJAX引擎导致的浏览器的兼容
页面局部刷新,导致后退等功能失效。
对流媒体的支持没有FLASH、Java Applet好。
一些手持设备(如手机、PDA等)支持性差。
为了用javascript向服务器发送一个HTTP请求, 需要一个具备这种功能的类实例. 这样的类首先由Internet Explorer以ActiveX对象引入, 被称为XMLHTTP. 后来Mozilla, Safari 和其他浏览器纷纷仿效, 提供了XMLHttpRequest类,它支持微软的ActiveX对象所提供的方法和属性.
为了创建一个跨浏览器的这样的类实例(对象), 可以应用下面的代码来实现
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}