Ajax应用场景

转载 2006年06月03日 23:02:00

适用场景

  1. 表单驱动的交互

    传统的表单提交,在文本框输入内容后,点击按钮,后台处理完毕后,页面刷新,再回头检查是否刷新结果正确。使用Ajax,在点击sunmit按钮后,立刻进行异步处理,并在页面上快速显示了更新后的结果,这里没有整个页面刷新的问题。

  2. 深层次的树的导航

    深层次的级联菜单(树)的遍历是一项非常复杂的任务,使用JavaScript来控制显示逻辑,使用Ajax延迟加载更深层次的数据可以有效的减轻服务器的负担。
    我们以前的对级联菜单的处理多数是这样的:
    为了避免每次对菜单的操作引起的重载页面,不采用每次调用后台的方式,而是一次性将级联菜单的所有数据全部读取出来并写入数组,然后根据用户的操作用 JavaScript来控制它的子集项目的呈现,这样虽然解决了操作响应速度、不重载页面以及避免向服务器频繁发送请求的问题,但是如果用户不对菜单进行 操作或只对菜单中的一部分进行操作的话,那读取的数据中的一部分就会成为冗余数据而浪费用户的资源,特别是在菜单结构复杂、数据量大的情况下(比如菜单有 很多级、每一级菜又有上百个项目),这种弊端就更为突出。
    如果在此案中应用Ajax后,结果就会有所改观:
    在初始化页面时我们只读出它的第一级的所有数据并显示,在用户操作一级菜单其中一项时,会通过Ajax向后台请求当前一级项目所属的二级子菜单的所有数据,如 果再继续请求已经呈现的二级菜单中的一项时,再向后面请求所操作二级菜单项对应的所有三级菜单的所有数据,以此类推……这样,用什么就取什么、用多少就取 多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于后台处理并重载的方式缩短了 用户等待时间,也把对资源的浪费降到最低。

  3. 快速的用户与用户间的交流响应

    在众多人参与的交流讨论的场景下,最不爽的事情就是让用户一遍又一遍刷新页面以便知道是否有新的讨论出现。新的回复应该以最快的速度显示出来,而把用户从分神的刷新中解脱出来,Ajax是最好的选择。

  4. 类似投票、yes/no等无关痛痒的场景

    对于类似这样的场景中,如果提交过程需要达到40秒,很多的用户就会直接忽略过去而不会参与,但是Ajax可以把时间控制在1秒之内,从而更多的用户会加入进来。

  5. 对数据进行过滤和操纵相关数据的场景

    对数据使用过滤器,按照时间排序,或者按照时间和名称排序,开关过滤器等等。任何要求具备很高交互性数据操纵的场合都应该用JavaScript,而不是用一系列的服务器请求来完成。在每次数据更新后,再对其进行查找和处理需要耗费较多的时间,而Ajax可以加速这个过程。

  6. 普通的文本输入提示和自动完成的场景

    在文本框等输入表单中给予输入提示,或者自动完成,可以有效的改善用户体验,尤其是那些自动完成的数据可能来自于服务器端的场合,Ajax是很好的选择。

不适用场景

  1. 部分简单的表单

    虽然表单提交可以从Ajax获取最大的益处,但一个简单的评论表单极少能从Ajax得到什么明显的改善。而一些较少用到的表单提交,Ajax则帮不上什么忙。

  2. 搜索

    有些使用了Ajax的搜索引擎如Start.com和Live.com不允许使用浏览器的后退按钮来查看前一次搜索的结果,这对已经养成搜索习惯的用户来说是不可原谅的。
    现在Dojo通过iframe来解决这个问题。

  3. 基本的导航

    使用Ajax来做站点内的导航是一个坏主意,为什么不把时间放在让系统程序作的更好上呢?

  4. 替换大量的文本

    使用Ajax可以实现页面的局部刷新,但是如果页面的每个部分都改变了,为什么不重新做一次服务器请求呢?

  5. 对呈现的操纵

    Ajax看起来像是一个纯粹的UI技术,但事实上它不是。它实际上是一个数据同步、操纵和传输的技术。对于可维护的干净的web应用,不使用Ajax来控制页面呈现是一个不错的主意。JavaScript可以很简单的处理XHMTL/HTML/DOM,使用CSS规则就可以很好的表达数据显示。

存在的问题

  1. 用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事;

  2. Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰?D?D用户不太清楚现在的数据是新的还是已经更新过的;现有的解决有:在相关位置提示、数据更新的区域设计得比较明显、数据更新后给用户提示等;

  3. 中间过程不能被bookmark。解决方法:GoogleMaps通过在页面上提供一个”link to this page”的办法来解决。另外,还可以通过url链接中加无效的?^标记来解决,但还未验证。

相关文章推荐

Ajax应用场景.txt

  • 2010年01月20日 08:33
  • 3KB
  • 下载

AJAX概述,应用场景和其优缺点

AJAX小例子: Insert title here window.onload=function(){//文档加载完毕后执行 //得到btn元素 var btn = d...

.ajax设置成同步的应用场景

原来一直觉得ajax的defer方式已经是多余,现在才觉得asyn:false设置成同步方式都是有用的。打个比方,在ready页面加载又要保存切换选项卡状态又要保存前一搜索结果的话,就有用。 ...

Ajax应用场景-Ajax适合的应用场合

Ajax不是万能的,在适合的场合使用Ajax,才能充分发挥它的长处,改善系统性能和用户体验,绝不可以为了技术而滥用。Ajax的特点在于异步交互,动态更新web页面,因此它的适用范围是交互较多,频繁读取...

UML设计的9种图例 区别 应用场景

  • 2014年01月04日 14:23
  • 259KB
  • 下载

大数据在银行业的应用场景

随着银行业务的载体与社交媒体、电子商务的融合越来越紧密,仅对原有15%的结构化数据进行分析已经不能满足发展的需求。企业需要借助大数据战略打破数据 边界,囊括85%的大数据分析,来构建更为全面的企业运营...
  • fhx007
  • fhx007
  • 2013年11月05日 22:31
  • 4610

回归算法应用场景实例二十则

本文整理了12个天池、DataCastle、CCF中可使用回归算法处理的问题场景。 1 机场客流量分布预测         为了有效利用机场资源,机场正利用大数据技术,提升生产运营的效率。机场内需要不...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ajax应用场景
举报原因:
原因补充:

(最多只允许输入30个字)