首页 > 代码库 > AJAX学习
AJAX学习
AJAX即Asynchronous JavaScript and XML(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
AJAX开发与传统的CS开发有很大的不同,这些不同引入了新的编程问题,最大的问题在于易用性。由于JAXA依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。
AJAX提出了一种新的开发方式,AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑CS环境的外部和使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。
时刻想着用户
AJAX的最大机遇在于用户体验。在使应用更快响应和创新的过程中,定义Web应用的规则正在被重写。因此开发人员必须更注重用户。
可用性是AJAX令人激动的地方而且已经产生了几种新颖的技术。其中最引人瞩目是一种称为“黄色隐出”的技术,它在数据更新之前时将用户界面变为黄色,更新完成后立刻变为原来的颜色。AJAX开发人员将用户从Web应用的负载中解放出来。
使用的技术
JavaScript
JavaScript是一种粘合剂使AJAX应用的各部分集成在一起。在AJAX中JavaScript主要被用来传递用户界面上的数据到服务端并返回结果。XMLHTTPRequest对象用来响应通过HTTP传递的数据,一旦数据返回到客户端就可以立刻使用DOM将数据放到网页上。
XMLHTTPRequest
XMLHTTPRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,并不会打断当前的操作。
CSS
为了正确的浏览AJAX应用,CSS是一种AJAX开发人员所需要的重要武器,CSS提供了从内容中分离应用样式和设计的机制。
优点和缺点
AJAX应用可以仅向服务器发送并取回必要的数据,它使用SOAP或其它一些基于XML的Web service接口,并在客户端采用JavaScript处理来自服务器的响应,因为在服务器和浏览器之间的数据交换大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也将大量减少。
使用AJAX的最大优点,是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷的回应用户动作,并避免了在网络上发送那些没有改变过的信息。
AJAX不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。
对Ajax的最大批评在于,它可能破坏浏览器后退按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面状态。这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微小;用户通常希望能单击后退按钮,就能取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。但是开发者已经想到解决办法,是用户单击后退按钮访问历史页面记录时,通过建立或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google MAps中单击后退时,它在一个隐藏的IFRAME中搜索,然后将搜索结果反应到Ajax元素上,以便将应用程序状态恢复到当时的状态。)
AJAX学习