javascript中ajax的优缺点

    ajax的全称是"Asynchronous javaScript and XMl"(异步的javaScript和XML),它并不是指一种单一的技术,而是有机的利用一系列交互式网页应用相关的技术所形成的结合体。它的出现,揭开无刷新更新页面的新时代,并有代替传统的web方式和通过隐蔽的框架进行异步提交的趋势,是web开发应用的一个里程碑。(该段文字摘自《锋利的jquery》一书)

    下面我们进入正题,介绍ajax的优缺点。

ajax的优点

    1、不需要插件支持

        只要用户允许javaScript在浏览器上执行,那么ajax就可以不用任何插件直接被主流的绝大数浏览器支持,这样作为一名开发人员,你就可以放心使用该技术,来完成和服务器的数据交互。

    2、优秀的用户体验

        比如你打开了一个网页,网页中的数据对应着一个按钮可以更新数据,那么你点击这个按钮就可以执行刷新数据,而不是将整个页面重新刷新得到你想要的数据。因为web程序回应的内容相比之下就减少了,便可以更为迅速的为你的操作做出响应。

    3、提高web程序的性能

         传统的客户与服务进行的数据交互是:客户通过form表单提交数据,而数据获取更是通过全页面的刷新获取整页的内容。而ajax和传统模式相比最大的不同就是传输数据的方式,ajax模式只需要通过XMLHttpRequest这个对象提交用户想要提交的内容,即做到了根据用户的需要发送制定的数据。

    4、减轻服务器和带宽的负担

        如果你理解ajax的原理,这点你就会很有深刻的理解(本人也是小白,为了更好的学习自己做的笔记)。ajax的作用相当于在用户和服务器之间建立一个中间层,使用户的操作和服务器响应达到异步化。ajax在客户端创建Ajax引擎,把之前传统模式下一些在服务器端的工作搬到客户端进行,便于客户端进行资源处理,同时减轻了服务器端和带宽的负担。

问题1:都有那些工作从服务器端搬到客户端进行处理了呢?

2、ajax的缺点

    1、浏览器对XMLHttpRequest对象的支持度不足

        ajax技术是时代技术发展的产物,之前的浏览器并没有对其进行支持。IE浏览器第一版支持XMLHttpRequest也是在5.0以后,其他的浏览器支持XMLHttpRequest对象更是在其后。为了使ajax可以在众多不同版本浏览器得到支持,开发人员不得不花费大量的时间精力编码兼顾各个浏览器之间的差异,这使得ajax的开发难度比普通的web开发难度高出很多,这也造成很多程序员对其望而生畏。

    2、破坏浏览器前进、后退按钮的功能

        在传统的网页中,用户习惯使用浏览器自带的"前进"和"后退"按钮,然而ajax却改变了web浏览的习惯。如何改变的呢?举个例子,一个用户在浏览某一个网页,点击了一个按钮触发了ajax请求交互后,突然感觉又想回到点击ajax请求之前的页面状态,如果该客户点击了浏览器自带的"后退"按钮,此时却发生了浏览器回到了先前的一个页面,通过ajax请求的交互的数据全都完全消失了。虽然通过一些方法(添加锚点)可以解决这个问题,但是在实现过程中比传统模式麻烦很多,造成喝多开发人员宁愿放弃该功能,也不会解决该问题。目前很多浏览器前进和后退按钮仍然是网页的前进和后退。

    3、对搜索引擎支持不足

        通常搜索引擎都是通过爬虫的方式对网络上数据亿计的数据进行搜索和整理的,但是目前爬虫程序还不理解那些奇怪的javaScript有时造成页面混乱。如果一个站点是通过ajax技术,那么在推广时会相比传统模式会处于劣势。

4、开发和调试工具缺乏

        ajax技术中的重要组成部分是javaScript,但是目前却是缺少javaScript良好的调试工具。很多web开发人员对javaScript望而生畏。

以上就是本小白学习到的ajax的优缺点,推荐《锋利jquery》一书,上面的介绍更详细,本人也是在该书进行的总结笔记。谢谢

你可能感兴趣的:(jquery,jquery,ajax,优缺点)