前端之家收集整理的这篇文章主要介绍了
Ajax的来源及工作原理,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_
403_0@1,Ajax的来源
@H_
403_0@很明显,B/S模式的应用很容易部署和维护,因为客户端所有的操作系统都会有浏览器,而且不需要下载和安装客户端,
用户可以利用基于浏览器的客户端做任何事情 。但是B/S模式是一个同步的请求/响应系统,会导致浏览器对整个
页面进行刷新,当服务器
负载很小时,这种交互方式并没什么问题;但当服务器
负载很大时,
用户需要等待很长时间才能得到想要的数据,这个给
用户的交互体验不是很好。由此可以看出,人们需要一个异步的交互模式。
@H_
403_0@Ajax正是这种异步交互模式的代表,它采用XMLHTTPRequest对象进行数据的异步交互,使用javascript增强
用户体验,使用DOM组织
内容,使用CSS
显示外观,使用XML封装数据。Ajax不是一种新的技术,而是已有技术的整合。
@H_
403_0@2,Ajax的工作原理
@H_
403_0@在传统的Web交互方式中,首先由
用户通过界面触发一个Http请求到服务i器,服务器根据请求的
内容进行相应的处理,然后将处理完毕的
内容再返回给客户端。这是一个同步的过程,当服务器处理客户端提交的请求时,客户端的
用户只能空闲等待,无论
用户是想处理很少的数据,还是要处理大批量的数据,服务器都会给
用户重新返回一个完整的
页面。
@H_
403_0@在传统的同步交互设计下,客户端每次都要浪费时间和带宽去重新读取整个
页面。前面讲过,当服务器
负载很小时,这种交互方式并没什么问题;但当服务器
负载很大时,
用户需要等待很长时间才能得到想要的数据,而此时
用户却要浪费时间在客户端等待,这样的
用户体验相当糟糕。
@H_
403_0@Ajax不一样,它采用的是异步机制,使得
用户可以一边等待,一边查看网页中的
内容。Ajax的工作原理相当于在
用户和服务器之间加了一个引擎,这个引擎用来统一处理提交的数据,它不需要服务器端的处理的数据直接返回给
页面,而只把需要
后台处理的数据传给服务端。
@H_
403_0@在这种异步交互的模式下,客户端不需要重新读取整个
页面,而只是读取所需要的那部分
内容,这样的
用户体验无疑是不错的。