数据岛在Ajax中的妙用。

 前一段时间选了一门XML基础知识的课,虽然对于XML我早在学习HTML的时候因为好奇也学了些,记得也是在那个时候接触到XMLDOM,以及最为重要的XMLHTTP对象,当时还不知道Ajax技术,不过按照书上的例子结合ASP技术,也实现了简单的Ajax功能,当然这有点远了。


在上的这门课时,尽管我已了解了Ajax技术和XML的知识,不过在其中说到关于数据岛(Data Island)的知识,给了我很大的震撼。再次之前我知道数据岛是html页面xml数据,可以是直接插入到html页面的xml代码,也可以是外部xml文件的引用。外部xml文件可以是纯文本的xml格式的文件,也可以是任何可以在服务器上执行生成的xml文件。无论那种方式,必须要有id属性,作为数据岛的引用。通过这个id属性可以绑定大部分块标签,比如:DIV,Span,A,IMG以及表单text类,同时也可以在Javascript引用,就象一个DOM对象,并且可以得到一个Resultset对象。


而其中我想最重要的就是与表格Table的绑定。与其说是绑定,还不如说同时也是xml结构到Table中的映射,他能把xml数据直接显示在表格中。那么我们是不是可以先用表格设定数据的显示样式,然后通过改变数据岛中的数据,这样不是就可以不必象传统的Ajax编程模式那样得到数据然后进行大量的DOM操作,或是传送格式话好的数据利用innerText或innerHTML属性显示数据。那么假如使用数据岛,我们要做的就是分别的显示数据样式的编写,和对数据的操作。一方面可以分离美工与编程人员的工作,另一方面是逻辑更清晰,程序员可以只专注于数据树的构建,编程简单化了。同时也能减少网络中的数据传输量,在Ajax技术的开发初期,主要是使用XML作为数据传输格式的,但由于处理XML要使用很多的资源,JSON逐渐取代XML作为轻量级的数据传输格式,我想数据岛的使用将重新焕发XML作为一种数据传输格式在Ajax中的运用。


使用数据岛在Ajax中有三类典型的应用。


一类是实现客户端的数据筛选。比如说一条查询语句,得到数条近似的记录。那么可以将这些记录组织成数据岛,发送到客户端。在客户端将这些记录映射到表格对应的行中(或其他标签),不必处理显示的样式,只要更改数据岛中的数据,结果将自动的反映到表格中。这是很有用的。比如用户对于搜索的结果不满意,要在进行筛选,那么就可以结合XML DOM进行查询得到结点集,然后组织成一棵树替换数据岛,得到用户的结果,不必通过页面或是Ajax向服务器提交新的SQL查询。作为扩展可以在客户端保存一个初始数据的副本,这样就可以进行多次的筛选。


第二类是表单的自动填写。在这类应用中可以将表单的text元素与数据岛绑定,这样可以减少查找元素,然后付值的工作。


第三类典型的应用是后台的数据的管理。

阅读更多
想对作者说点什么? 我来说一句

AJAX 中UpdatePanel的妙用

2007年05月12日 38KB 下载

数据岛的JS简单代码

2009年12月22日 18KB 下载

XML之数据

2007年10月16日 3KB 下载

没有更多推荐了,返回首页

不良信息举报

数据岛在Ajax中的妙用。

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭