一、Ajax的优势
1. 不需要插件支持
Ajax 不需要任何浏览器插件,就可以被绝大多数主流浏览器所支持,用户只需要允许JavaScript在浏览器上执行即可
2. 优秀的用户体验
这是Ajax技术的最大优点,能在不刷新整个页面的前提下更新数据,这使得web应用程序能更为迅速地回应用户的操作
3.提高web程序性能
与传统模式相比,Ajax模式在性能上的最大区别就在于传统模式传输数据的方式,在传统模式中,数据提交是通过表单(Form)来实现的,而数据获取是靠全页面刷新来重新获取整页的内容。Ajax模式只是通过XHMHttpRequest对象向服务器端提交希望提交的数据,即按需发送
4减轻服务器和带宽的负担
Ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。它在金额护短创建Ajax引擎,把传统方式下的一些服务器负担的工作转移到客户端,便于客户端资源来处理,减轻服务器和带宽的负担
二、Ajax的不足
1.浏览器对XMLHttpRequest对象的支持度不足
IE在5.0版本及以后的版本才支持XMLHttpRequest对象(现阶段大部分客户端上的IE是IE6以上),Mozilla,Netscape等浏览器支持XMLHttpRequest则更在其后。
2.破坏浏览器前进、“后退”按钮的正常功能
在Ajax中“前进”和“后退”按钮的功能会失效,虽然可以通过一定的方法(添加锚点)来使得用户可以使用“前进”和“后退”按钮,但相对于传统的方式却麻烦了很多。当单机一个按钮触发一个Ajax交互后又觉得不想这样做,接着就去习惯性地单机“后退”按钮,结果发生了最不愿意看到的结果,浏览器后退到了先前的一个页面,通过Ajax交互得到的内容完全消失了
3.对搜索引擎的支持的不足
对于搜索引擎的支持也是Ajax的一项缺憾。通常搜索引擎都是通过爬虫程序来对互联网上的数以亿计的海量数据来进行搜索整理的,然而爬虫程序现在还不能理解那些奇怪的JavaScript代码和因此一起的页面内容的变化,这使得应用Ajax的站点在网络推广上相对于传统站点明显处于劣势。
4.开发和调试工具的缺乏
JavaScript是Ajax的重要组成部分,在目前,由于缺少很好的JavaScript开发和调试工具,使很多web开发者对JavaScript望而生畏,这对于编写Ajax代码就更加困难了。同时,目前许多web开发者已经习惯使用可视化的工具,对亲自动手编写代码有畏惧感,这也是在一定程度上影响了大家对Ajax的应用