网络编程
位置:首页>> 网络编程>> JavaScript>> 使用ajax开发的五大误区

使用ajax开发的五大误区

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

标签:ajax,服务器,javascript

今天在 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文件来解析它,这样比你用旧的解析方法可能更加有效。

服务器承担了太多了事情

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

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com