枫林在线论坛>>技术交流 [普通模式] [上一主题] [下一主题] |
[382557] 主题: Ajax铺设了更好的开发Web应用的道路(6) |
作者: little | 标题: Ajax铺设了更好的开发Web应用的道路(6)[转载] | |
昵称: 渺小 | 来自: 192.168.*.* | |
经验值: 14288 | 发贴时间: 2005年12月17日 11:17:27 | |
等级: 博大精深 | 长度: 3110字 | |
http://searchwebservices.techtarget.com.cn/tips/212/2179212_5.shtml
Ajax铺设了更好的开发Web应用的道路 【2005-11-03 11:17】【】【赛迪网】 使用Ajax的挑战 与任何技术一样,使用Ajax在相当多的方面都可能范错误。我在这儿讨论的问题目 前都缺少解决方案,并将会随着Ajax的成熟而解决或提高。随着开发Ajax应用经验的不 断获取,开发者社区中将会出现最好的实践经验与指导方针。 XMLHttpRequest的有效性 Ajax开发者面对的一个最大问题是当XMLHttpRequest不可用时如何反应。虽然大部 分现代浏览器支持XMLHttpRequest,但还是有少量的用户,他们的浏览器不能支持,或 由于浏览器安全设置而阻止对XMLHttpRequest的使用。 若你的Web应用发布于公司内部的Intranet上,你很可能可以指定支持哪种浏览器, 并可以确保XMLHttpRequest是可用的。若你在公共WEB上发布,则你必须意识到由于假定 XMLHttpRequest是可用的,所有就阻止了老浏览器、手持设备浏览器等等用户来使用你 的系统。 然而,你应该尽力保证应用系统“正常降级”使用,在系统中保留适用于不支持XM L HttpRequest的浏览器的功能。在购物车例子中,最好的方法是有一个Add to Cart按钮 ,可以进行常规的提交处理,并刷新页面来反映购物车状态的变化。 Ajax行卫可以在页面被载入时通过JavaScript添加到页面中,只在XMLHttpRequest 可用的情况下,为每个Add to Cart按钮加上JavaScript处理函数。另一个方法是在用户 登录时检测XMLHttpRequest,再决定是提供Ajax版本还是常规基于form提交的版本。 可用性考虑 围绕着Ajax应用的大部分问题都是很普通的问题。例如,让用户知道他们的输入已 经被注册并处理,是很重要的,因为在XMLHttpRequest处理过程中并不能提供通常的漏 斗旋转光标。一种方法是将“确认”按扭上的文本替换为“正在更新中…”,以避免用 户在等待响应时多次点击按钮。 另一个问题是,用户可能没有注意到他们正在观看的页面已经被更新。可以通过使 用各种视觉技巧来将用户的眼光吸引到页面的更新区域。还有一个问题是通过Ajax更新 页面打断了浏览器“退回前页”按钮的正常工作,地址栏中的URL不能反映页面的全部状 态,并且不能使用书签功能。参见Resource章节中列出的网站地址上的文章来了解更多 A jax应用关于可用性方面的问题。 服务器负载 使用Ajax界面代替传统的基于form的界面可能戏剧性地增加传递到服务器的请求数 量。例如,一个普通的Google搜索给服务器造成一次命中,并在用户确认搜索表单时发 生。然而,Google Suggest,将会试图自动完成你的搜索词,在用户打字时将会往服务 器发送多个请求。 在开发一个Ajax应用时,要注意到你将会发送多少请求到用户器端,以及服务器的 负载指标。你可以通过在客户端适当地缓存请求、与服务器响应来缓减负载压力。你也 应该在设计Ajax应用时尽量在客户端处理更多的逻辑,而不用与服务器端通讯。 处理异步 一定要记住,没有任何东西可以保证XMLHttpRequest将会按照它们被发送的顺序来 依次结束。实际上,你在设计系统时,脑子里应该始终假定它们不会按原来顺序结束。 在购物车例子中,使用了一个最后更新的时间戳来保证最新的数据不会被改写。 这个非常基本的方法可以在购物车场景中工作,但可能不能在其它情况下工作。在 设计时刻就要考虑你该如何处理异步服务器响应。 结论 你现在应该对于Ajax的基本原则有了一个良好的了解,另外,你应该理解一些更高 级的随Ajax方法而来的设计问题。创建一个成功的Ajax应用需要一系列的方法—从Java S cript UI设计到服务器端架构—但是你现在应该已经具备了需要使用到的Ajax核心知识 。 |
||
========== * * * * * ==========
|
Top |
Copyright © 2001-2012 枫林在线(www.FengLin.info) All Rights Reserved
页面运行使用38.7毫秒