Ajax利弊

简介:


        Ajax不只是一个特定的技术,更应算是一种技巧,不过前面提到的JavaScript是其主要组件。

        

优点:


        1、不需要插件支持。Ajax不需要任何浏览器插件,在大多数现代浏览器中都能使用,只需要语序JavaScript在浏览器上执行即可。
        2、优秀的用户体验。能在不刷新整个页面的前提下更新数据,使得Web应用程序能更为迅速地回应用户的操作。
        3、提高Web程序的性能。与传统模式在性能上的最大区别就在于传输数据的方式,在传统模式中,数据提交是通过表单(Form)来实现的,而数据获取是靠全面舒心来重新获取整页的内容。而Ajax模式只是通过XMLHttpRequest对象向服务器提交希望提交的数据,即按需发送。
        4、减轻服务器和带宽的负担。Ajax的工作原理相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化。它在客户端创建Ajax引擎,把传统方式下的一些服务器负担的工作转移到客户端,便于客户端资源来处理,减轻服务器和带宽的负担。
        实际上,Ajax的另一大优势就是开发人员不需要学习一门新的语言,也不必完全丢掉他们原先掌握的服务器端技术。Ajax是一种客户端方法,可以与J2EE、NET、PHP、Ruby和CGI脚本交互,它并不关心服务器是什么,尽管存在一些很小的安全限制。

        Ajax的核心关键在于,因特网默认的请求/响应模式有了重大转变。可以自由地与服务器异步交互,完成许多原本只能在胖客户上完成的任务。


缺点:


        1、浏览器兼容性差异。因为浏览器提供不同的方式支持XMLHttpRequest,必须花费大量的精力编码以兼顾各个浏览器之间的差别。

        2、破坏浏览器的部分正常功能。不同于IFRAME和隐藏框架,通过XHR作出请求不会修改浏览器的历史栈(后退键功能丧失了)。其实,与其他基于浏览器的方法不同,Ajax不会修改地址栏中显示的链接,这表明不能轻松地为一个页面建立标签,或者向朋友发送一个链接。对于许多应用来说,可能没有这个要求,但是如果你的网站专门为人提供行车路线之类的东西,就要针对这个问题提供一个解决方案。(可以通过一定的方法例如添加锚点来使得用户可以继续使用“前进后退”按钮,但相对于传统方式麻烦了许多)。

        3、不要过度是用Ajax。实现Ajax需要编写更多的JavaScript代码,如果有数千行的代码,加载这些代码并在客户端的浏览器上运行,可能会让用户感觉速度太慢。如果脚本编写不当,就会很快失去控制,特别是通信量增加时。

        4、Ajax允许异步操作,这个最大的优点同时也是它最突出的缺点。

        5、在收发数据量少的时候更有优势。Ajax对应某一个事件发送一个HTTP请求。假如需要刷新的数据差不多等于原先页面大小的时候,此时就要加载比原先更多的js代码,发送更多的HTTP请求。假如用Ajax收发相同的数据量是比传统方式要慢的,只有在小数据量的时候才有优势,不需要刷新这个页面。停留时间少且刷新次数高的页面就不宜使用Ajax。

        6、不利于搜索引擎简历索引。要想搜索引擎建立索引,必要条件就是网页捕获器能顺利捕获真正有用的内容。而异步的网页通常必须经过用户的单击后内容才会着改变,而且这些改变都是有JavaScript触发,但是在搜索引擎中要运算JavaScript是非常耗资源的,所以此类的异步网页设计不利于搜索引擎建立索引。

        (跨域产生的安全性问题由于本人水平有限,暂时无法更新!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值