使用ajax开发的五大误区

作者:Satellite 来源:Satellite Of Love 时间:2008-09-03 12:46:00 

今天在 ajaxian 上看到一篇文章,名为 Five Ajax Anti-pattern ,觉得讲得比较有道理,现粗略翻译一下,加一些自己的使用感触:

不必要的计时器轮询

请注意timer的使用,虽然可以用它来监听用户的行为,但是一旦你的目标行为已经结束,它就将成为你程序的累赘。所以一定要记得清除计时器。

目前常用的计时器有两种,分别是setTimeout和setInterval()
setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。
setInterval方法则是表示间隔一定时间反复执行某操作。

如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:
例如:tttt=setTimeout(’northsnow()’,1000);
clearTimeout(tttt);
或者:
tttt=setInterval(’northsnow()’,1000);
clearInteval(tttt);

回调函数不对返回值进行检查

很多人在写回调函数的条件语句时候只写xmlhttp.readyState == 4 && xmlhttp.status == 200,也就是说只对异步传输的传输状态进行判断以后就开始对XHR(xmlhttp.response结果)解析了,几乎不对XHR进行类型或其他方面的安全判断,这个习惯非常不好,并且用一些framework可以很轻易地做到这一点。

在某些时候传输HTML格式的服务器反馈可能比XML好,但还是固执地使用XML

“我不想使用HTML格式是因为我觉得那不是真正的AJAX”,很多人这样说,很明显,这样的完美主义没有任何益处,AJAX只是教你一种方法和思想,并不是教你一定要在传输的时候使用XML并且解析它,所以在某些时候,你是在浪费时间,尤其是我只想服务器返回true或者false的情况下。所以有时候你使用HTML的格式去直接改变元素的innerHTML这种方法是非常棒的。

在需要传输javascript code的时候传输xml数据(可能不太好理解,但是我没有找到更好的词:()

很多时候,你的xml数据文件里面可能会有很多用不着的数据,在这个时候你不如换一种parse的方法,也就是说重新传输一个相关的javascript文件来解析它,这样比你用旧的解析方法可能更加有效。

服务器承担了太多了事情

应该在服务器和客户端之前做到一个平衡,不必要的运算可以尽量留在客户端,而服务器用来全职吞吐所有必须的更新数据。

翻译得有些生涩,但还是希望对大家能有些借鉴意义。
请尽情拍砖。

标签:ajax,服务器,javascript
0
投稿

猜你喜欢

  • 封装2个ajax函数

    2010-09-03 18:14:00
  • 如何调用Oracle存储过程?

    2009-11-15 20:13:00
  • 浅议 Web 网页 Form 表单设计技巧

    2007-10-09 13:05:00
  • 一个css垂直水平居中布局,css效果

    2008-11-03 11:40:00
  • mysql使用LOAD语句批量录入数据方法

    2010-03-09 16:31:00
  • 网页视频播放器程序代码(通用代码),支持avi,wmv,asf,mov,rm,ra,ram等

    2008-07-16 11:56:00
  • 如何在asp中创建DSN?

    2009-11-14 20:46:00
  • 两个百度WEB面试题 怎么做?

    2010-09-03 18:40:00
  • 开发Web应用程序的结构化过程

    2009-06-01 10:52:00
  • Request.ServerVariables("HTTP_REFERER")的用法

    2008-06-19 13:33:00
  • css3弹性盒模型

    2010-05-10 20:47:00
  • 编写SQL Server的扩展存储过程实例

    2009-01-20 15:45:00
  • asp 性能测试报告 学习asp朋友需要了解的东西

    2011-03-09 10:57:00
  • Ext.js源码研读总结

    2009-03-04 12:06:00
  • conn.execute的用法

    2008-07-03 12:58:00
  • 30个出色的分页设计

    2009-05-12 17:49:00
  • FileUpload上传图片预览不变形

    2010-08-05 21:25:00
  • 启发式评估(heuristic evaluation)

    2009-08-27 13:03:00
  • web标准知识——美化段落文本 Ⅱ

    2008-07-22 12:12:00
  • ASP Google的translate API代码

    2011-04-03 11:16:00
  • asp之家 网络编程 m.aspxhome.com