AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
Ajax 的核心是 JavaScript 对象 XMLHttpRequest 通过这个对象,JavaScript 可在不重载页面的情况与Web服务器交换数据。
Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
Ajax其核心有JavaScript、XMLHTTPRequest、DOM对象组成,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。让我们来了解这几个对象。
本人总结了Ajax的优点: 1。减轻服务器的负担,提升站点的性能 2。无刷新更新页面,减少用户实际和心理等待时间 3。更好的用户体验 4. 也可以把以前的一些服务器负担的工作转嫁到服务器,利用客户端闲置的处理能力来进行处理,减轻服务器和宽带的负担,节约空间和宽带租用成本 5.Ajax是基于标准化并被广泛支持的技术,并且不需要插件和下载小程序 6.Ajax使用Web中的界面与应用分离(也可以说是数据和呈现分离),而在以前两者是没有清晰的界限的,数据与呈现分离,有利于分工合作,减少非技术人员对页面的修改造成的Web应用程序错误,提高效率,也更加适用于现在的发布系统。 虽然有如此的优点,但也总有不如意的地方: 1.一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax 2.用Javascript做的Ajax引擎,Javascript的兼容性和Debug都是让人头疼的事 3.Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰----用户不清楚现在的数据时心得还是已经更新过的;现在的解决方式有在相关位置提示、数据更新的区域设计的比较明显、数据更新后给用户提示等。 4.对流媒体的支持没有Flash、Java Applet好 5.中间过程不能被bookmark。解决方法:GoogleMaps通过在页面上提供一个“link to this page”的办法来解决。另外,还可以通过在URL连接中加无效的?^标记来解决,但还未验证。