AJAX:我们离X多远了?
原文地址:http://www.blogkid.net/archives/1873.html
昨天在项目里,同事用了一个ActiveX控件来把AJAX请求返回的字符串解析为XML DOM。这样的操作方式在Firefox下行不通,于是兼容性问题被摆到桌面上。一下子没有想到好的解决方案,后来一拍脑袋,用responseXML不就可以了!
在2005年,AJAX还算个新东西,它的全称是Asynchronous JavaScript and XML。我刚学习AJAX的时候,读了《Ajax Foundation》和《AJAX In Action》这两本书。从最基本的XMLHTTP开始,一步步打造装备了AJAX的应用程序——虽然在现在看来很多东西有点老土,但我依然觉得它们是非常适合想学AJAX的同学。
那时的书里也在灌输这个概念:用XML格式来发送响应信息。那时用文本+操作innerHTML是会被鄙视的,因为它不够灵活。也就是说,在最开始的时候,AJAX里的响应用的是XML,根本就不会有本文开始的问题。只要获取一下responseXML,就是一个XML DOM。只要再获取一下DocumentElement,就得到了DOM根节点。在上面随便用什么getElementById,和操作页面上的DOM元素没啥区别。
现在的AJAX应该很少用XML格式的响应了。操作innerHTML确实很便捷;就算需要更为灵活的数据,也有清晰好用的JSON。Rails框架还提供了RJS,可以返回javascript片段到客户端执行。其实这种思路是通用的,但拿rails来做,很容易。
其实,像XML这种臃肿的东西,注定不会在AJAX的世界里呆多久的。


0 Responses to “AJAX:我们离X多远了?”