Ajax发展与应用
Ajax是基于传统的web应用开发衍生而来的,说它是一门技术,它是一种基于客户端的技术,所以在我们后台,也就是服务器端的技术无论你是用php还是jsp or ASP.NET,都可以用ajax。
我们先来看下Ajax构成,Asynchronous javascript and XML缩写,意思是异步的javascript与XML,看起来我们对ajax不甚了解,可能认为它是一种新的技术,但是它并没有那么高大上,它只是javascript、XML、CSS、DOM等技术的组合,可以实现客户端异步请求操作,从而可以实现不用刷新页面情况下与服务器通信,减少用户等待时间,提高用户体验,而且减轻服务器和带宽负担,提供更好的服务响应。
下面显示的提示信息
又比如你在注册邮箱时候,将采用Ajax实现不刷新页面检测输入数据合法性,又比如我们打开网页移动鼠标在某一个图片显示的气泡说明。可以说Ajax已经深入我们内部了。
现在既然了解了那么多ajax就存在于我们身边的事实,不如看下它是怎么来的,每次谈到一个新兴的技术就要去
oooO ↘┏━┓ ↙ Oooo
( 踩)→┃你┃ ←(死 )
\ ( →┃√┃ ← ) /
\_)↗┗━┛ ↖(_/ 它前任几脚才能显出现任的霸道似得,这里也是走的这个路线,它的前任是web 2.0以前,我们以前的开发模式是用户每一次操作都会触发一次返回给web服务器的http请求,服务器进行相应处理后,(数据,运行不同系统会话)然后再返回一个html页面给客户,这种体验是非常糟糕的,还记得当初我高中时候用的键盘手机,使用的网页版qq,那时候我每次发一个聊天消息,点击一下发送,然后界面刷新了一次,那么什么时候人家给你发送回消息呢,sorry I don't know ,你必须刷新一下页面你才知道,于是等待就成为了煎熬,我现在回忆起来那段美好的时光,觉得它唯一的好处是非常省流量,一个月30M是怎么都用不完的,前提是不要提你按的手痛的刷新。
现在我们看下Ajax是怎么做的:
在结构中,我觉得Ajax相当于一个中间商,页面中的用户操作将不直接到达服务器,先到达Ajax的引擎,然后Ajax与服务器进行通信,然后返回结果提交给Ajax,Ajax决定将这些数据插入到页面的指定位置。
下面是这两种模式的运作图:
这样将会变成Ajax引擎的一次javascript调用。从而在不需要刷新页面情况下,把部分数据更新上去,也降低了网络流量。
然而怎么做到可以不刷新页面就成功更新数据的,这跟它本身技术特点密不可分,我们下次接着讨论这个神奇的AJAX