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