17.5 Ajax应用场景
Ajax功能十分强大,但Ajax也不是万能的,只有在适当的地方使用Ajax,才能充分发挥Ajax的优势,从而改善系统性能,得到良好的用户体验。Ajax的特点在于异步通信、按需读取数据、动态地更新Web页面,适用于频繁交互、频繁读取数据、需要动态更新的Web应用。目前,Ajax的主要应用场景有:数据验证、按需读取数据、自动实时更新页面。
17.5.1
数据验证
在Web应用中,很多时候需要填写表单,而表单中的一些项需要验证,例如客户注册应用,要进行用户名的唯一性验证。传统的Web模式对数据验证方法有其不足,而Ajax很好地解决了该缺点,提供了更好的用户体验。
传统的Web应用模式对数据验证通常采取两种方法,其一:用户全部填完后,把整个表单一起提交到服务器,验证时间长而且给服务器造成不必要的负担,同时用户在填入某项时也不能及时获得信息;其二:在需要验证的项后添加按钮,用户填入某项后可以单击验证按钮,把项值提交到对应的验证页面进行验证,该方法较前一种方法有改进,但是需要新开窗口或者对话框,还需要编写专门的验证页面,比较烦琐。
在Ajax应用模式中,通过XMLHttpRequest对象发送异步的验证请求,根据服务器的响应信息及时地为用户反馈信息,整个过程把整个表单提交,也不需要新开窗口,而且窗口可以动态地显示返回的信息,提供了良好的用户体验。
17.5.2
按需读取数据
做到按需读取数据,减少数据冗余,将大大降低服务器的负担,也大大提高带宽的利用率,这对Web应用中的分类树或树型结构操作是非常有效的。
分类树或树型结构在Web应用中使用非常广泛,如家族、地区、文档的分类常常使用树型结构。传统的Web应用模式为了避免重载页面,一般是一次性把整个树型结构数据读取过来,再使用JavaScript脚本语言进行操作。但用户对树型结构的操作往往是局部的,或者只是针对某个分支操作,那么读取的数据就有相当的冗余,浪费用户资源。特别是当树型结构数据非常庞大时,读取的时间更长,浪费的资源更多。
Ajax应用模式可以实现异步交互,并按需读取数据,大大改进了对树型数据的操作。当用户单击某级节点时,Ajax只把对应分类的下一级数据读取并显示,例如单击一级分类节点,则把对应分类的二级节点数据读取并显示。这样,页面每次按用户需要读取数据,不会出现冗余,提高资源利用率的同时也大大缩短用户的等待时间。
17.5.3
自动实时更新页面
在信息千变万化的当今时代,Web应用的数据变化也是十分迅速的,例如新闻信息、天气预报、实时的聊天内容以及股市动态等。在实时、动态更新目标页面方面,较之传统的Web应用,Ajax技术的优势格外引人注目。
在传统的Web应用中,用户为了得到新的内容,不得不反复刷新页面,或者页面定时刷新。刷新意味着装载页面,不但要载入更新的内容,原本已经加载的旧内容也要加载一遍,浪费带宽的同时,用户等待时间也相对较长。
而Ajax应用模式在页面加载后,通过后台的Ajax引擎异步地和服务器交互,如果服务器有数据更新,则把更新部分的数据取回,动态地更新到页面中即可,并以消息的方式告知用户有新的内容更新。减少资源浪费的同时,为用户提供了很好的用户体验。






