AJAX工作原理及其优缺点

一、AJAX 定义

        AJAX(Asynchronous JavaScript and XML)其实是多种技术的综合,包括 Javascript、XHTML 和 CSS、DOM、XML 和 XSTL、XMLHttpRequest。其中:使用 XHTML 和 CSS 标准化呈现,使用 DOM 实现动态显示和交互,使用 XML 和 XSTL 进行数据交换与处理,使用 XMLHttpRequest 对象进行异步数据读取,使用 Javascript 绑定和处理所有数据。

二、AJAX 优点

  • 减轻服务器的负担。AJAX 的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。

  • 无刷新更新页面,减少用户心理和实际的等待时间。特别的,当要读取大量的数据的时候,不用像 Reload 那样出现白屏的情况,AJAX 使用 XMLHTTP 对象发送请求并得到服务器响应,在不重新载入整个页面的情况下用 Javascript 操作 DOM 最终更新页面。所以在读取数据的过程中,用户所面对的不是白屏,是原来的页面内容(也可以加一个Loading 的提示框让用户知道处于读取数据过程),只有当数据接收完毕之后才更新相应部分的内容。这种更新是瞬间的,用户几乎感觉不到。

  • 带来更好的用户体验。

  • 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。

  • 可以调用外部数据。

  • 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

  • 进一步促进页面呈现和数据的分离。

三、AJAX 缺点

  • AJAX干掉了Back和History功能,即对浏览器机制的破坏。

  • AJAX的安全问题。

  • 对搜索引擎支持较弱。

  • 破坏程序的异常处理机制。

  • 违背URL和资源定位的初衷。

  • AJAX不能很好支持移动设备。

  • 客户端过肥,太多客户端代码造成开发上的成本。

四、AJAX 工作原理

        Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

AJAX工作原理及其优缺点_第1张图片

工作原理示意图

五、AJAX 应用场景

  1. 动态加载数据,按需取得数据。【树形菜单、联动菜单.../省市联动】

  2. 改善用户体验。【输入内容前提示、带进度条文件上传...】

  3. 电子商务应用。【购物车、邮件订阅...】

  4. 访问第三方服务。【访问搜索服务、rss阅读器】

  5.  数据的布局刷新

你可能感兴趣的:(AJAX工作原理及其优缺点)