写点什么

五种常见 Ajax 反模式

  • 2007-04-01
  • 本文字数:832 字

    阅读完需:约 3 分钟

Jack Herrington 根据自己在 Ajax 领域的开发经验,撰写了一篇文章,深入讨论了 Ajax 代码中常犯的错误。他阐述了五个足以被认定为反模式(anti-pattern)的常见具体问题,总结如下:

滥用定时器(Timer)进行轮流监测。尽管 JavaScript 拥有定时器功能(通常使用 window.setInterval()),但我们只能因地制宜地使用。把它用在动画上是合理的,但对于其它方面我们就必须仔细斟酌了。最显而易见的危险信号就是使用定时器来监视请求的完成。这种情况下应该使用回调而不是轮流监测的方式。

在回调中没有检查返回结果。在使用 XMLHTTPRequest 对象的 processReqChange() 回调时,必须对回调参数的 readyState 和 status 值进行检查。回调常常会在结果完成之前被调用。假如没有检查此结果,在代码试图处理不完整数据时可能会引起错误。

在传递 HTML 更合适的情况下,传递复杂的 XML。将 XML 格式化成浏览器中显示的 HTML 可能需要编写大量的 JavaScript,这可能导致开发人员不得不面对更多的浏览器兼容性问题。

就和你做所有事情一样,到底该在服务端还是客户端处理的选择应该根据工作的需求而定。在这种情况下,举一个相对简单的例子:给出一个电影列表。如果工作更复杂一些的话——可能包含排序,添加或删除,或者进行动态交互,在点击某个电影的时候显示更多的信息——那么在客户端将包含更复杂的代码。实际上,在本文结尾,我将演示如何对在客户端排序,探讨将负载过多地置于服务端的驳论。

在该传递 JavaScript 代码时,传递 XML。简而言之,在你可以使用 JSON 时不要用 XML:

这里的好处是显而易见的。在本例中,使用 JavaScript 语言客户端下载的数据量节省了 52%,并且性能上也得到提升,读取 JavaScript 版本速度快了 9%。尽管 9% 看起来并不多,不过要注意的是这个例子还尚未完善。更为庞大的数据块或者更复杂的结构将会带来更多的 XML 解析代码,而 JavaScript 则会保持不变。

在服务端进行过多处理。简单的单页面功能,如表格排序,在 JavaScript 中处理起来比服务端处理得更快,效率也更高。

2007-04-01 23:001106
用户头像

发布了 117 篇内容, 共 18.9 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

除了Pura70系列,华为最近还有这件事值得关注!

平平无奇爱好科技

扣非净利同比大增1722.92%,歌尔股份发布2024年一季度财报

财见

详解数仓的向量化执行引擎

华为云开发者联盟

数据库 华为云 华为云开发者联盟 华为云GaussDB(DWS) 企业号2024年4月PK榜

捷途山海T2携手坦克300 Hi4-T上市,消费者该如何选择?

极客天地

OpenHarmony NAPI开发 主讲人:连志安

Laval小助手

联想用万全智算,画出中国AI的山脊

脑极体

AI

Linux设备驱动系列(四)——设备号

Linux内核拾遗

linux开发 Linux内核 设备驱动

搭载联想小天个人智能体的AI PC亮相 PC从此变CP

科技热闻

国产化替代进程中金融行业的中间件

Onegun

信创 国产化

百度沈抖:智能,生成无限可能

百度Geek说

AI 百度智能云 企业号 4 月 PK 榜

代码评审-findBugs

追随月光的战士

代码质量 githook findbugs

智慧医院解决方案

菜根老谭

智慧医院

一次故障演练,十分钟自动搞定?

华为云开发者联盟

运维 华为云 企业号2024年4月PK榜 华为云开发和联盟

一文了解AI长文本工具:马斯克打脸OpenAI,全球最大巨无霸模型Grok-1开源!

蓉蓉

openai

企业数字化转型,人才是关键。华为政企咨询如何赋能客户高效培养数字化人才?

平平无奇爱好科技

后端的克星,前端的福音 -快捷提供数据库的REST数据访问接口

zhumingwu

重回铁王座!时隔5年!Quill 2.0 终于发布啦🎉

Kagol

前端 富文本编辑器

凭证管理揭秘:Cookie-Session 与 JWT 方案的对决

Phoenix

安全架构 会话管理

企业为什么需要MES,万界星空科技MES系统的解决方案

万界星空科技

数字化转型 工业互联网 制造业 mes 万界星空科技

Appium控件交互策略:优化自动化测试效率的关键方法

霍格沃兹测试开发学社

物资管理的挑战与机遇:利用技术提升效率与可持续性

天津汇柏科技有限公司

如何延长LED显示屏的使用寿命

Dylan

环境 角色 LED显示屏 全彩LED显示屏 led显示屏厂家

五种常见Ajax反模式_Java_James Kao_InfoQ精选文章