数据岛在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元素与数据岛绑定,这样可以减少查找元素,然后付值的工作。


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值