| 搜索频道 | 源码下载 | 站长代码论坛 | 文章分类 | 最新专题 | 源码交易 | 加入收藏
首页|资讯|图形图像|网站开发|程序设计|数据库|多媒体|机械电子|办公系列|路由技术|原理|应用|考试|系统
文章搜索:
 您的位置:首页网站开发XML → 利用XML不离开页面刷新数据
利用XML不离开页面刷新数据

日期:2006-7-12 11:54:15 人气:     [ ]
       开门见山,不离开页面就能刷新页面中的(部分)数据好处多多。主要是不需要写无聊代码维护 state。
ASP.NET (以及其雏形 VI6 SOM)中的 server-side control (VI6 DTC, Script Library) 通过大量
hidden input 来维护页面 state,其功力之深,非吾辈能及。所以我们要想办法不离开页面就能得到
新数据,这样生活会比较好过。

其实办法早就有很多。比如自己写 ActiveX Control 或 Java Applets,或使用系统自己带的。
如果是 IE 浏览器,很久以前就可以使用 ADO RDS 之类的方法从 server 端远程获取数据。
我们现在看看 XML 新石器时代的几种方法:

1. XMLHTTP
这种方法意思和 RDS 差不多,但在 XML 时代,这种方法显得比较正经儿。
网上有个比较好的例子:http://www.asptoday.com/articles/20001219.htm
Using Fat Clients For E-commerce
作者起这个名字 (Fat client) 就是说要求 browser 要支持 XMLHTTP。
代码片断:
Function getCategories()
Dim oXMLHTTP ' As Object
Dim oCategories ' As Object
Set oXMLHTTP = CreateObject("Microsoft.XMLHTTP")
'--- set the XMLHTTP call and issue send (no parm as category
'--- is included in URL
oXMLHTTP.open "GET",SERVER_PATH & "demo.asp?action=getcategories",False
oXMLHTTP.send
'--- load the response into the Categories data island
dsoCategories.loadXML oXMLHTTP.responseText
'--- transform into HTML and assign to innerHTML property
divCategories.innerHTML = dsoCategories.documentElement.transformNode(dsoCategoriesXSL.documentElement)
'--- tidy up the object
Set oXMLHTTP = Nothing
End Function

其实直接使用 DOMDocument.load 也是一样的。
参见 http://www.chinaasp.com/sqlbbs/showEssence.asp?id=3586
Zee 的帖子:“在IE里应用XML的一个小例子:解决双下拉选单的连动问题。”
代码片断:
var oXMLDoc = new ActiveXObject('MSXML');
sURL = '<%=strPathInfo%>XMLCity.asp?State=' + sState;
oXMLDoc.url = sURL;

不显性地创建 ActiveXObject 也可以,变通的方法是使用 <XML ID="myData">。

2. 如何支持 Netscape browser?
考虑到可以使用 XML SRC 的方式在页面中获得 XML data,我们可以仔细看一眼 HTML properties: SRC。
可以注意到还有个常用 tag 具备这个 attribute -- IFrame。
所以我们可以使用下面的思路来从 server 获取数据,这回我们不使用 XML island, ActiveX Object,以便支持 NN。
a. 在页面中加一个隐藏的 IFrame。
b. 需要调用数据时,语句形如:IFrame.src = "http://localhost/getData?a=123"
c. 为了迎合 NN 的胃口,我们的返回值不是直接 XML Data,而是 HTML,这样才能被 IFrame 接受
d. 但最重要的是,这个 HTML Page 实际上是一个 well-formed 的 XML document。比如:
<HTML>
<BODY>
<P ID="P1">abc</P>
<P ID="P2">def</P>
<P ID="P3">ghi</P>
</BODY>
</HTML>
e. 我们可以使用 client-side javascript 把这个 well-formed XML Doc 中的数据抓取出来,加入到我们的 select
listbox 中。

(是在一个同事那里看到的这个思路,感觉他是剑术通神后,捻花摘叶皆是剑,何必拘泥于 XML DOM Object。)

挂一漏万,希望大家再加上几种方法。

出处:本站原创 作者:zzcode
 相关文章
·XML 取得元素的字符数据
·使用文件对象模型Script来显示XML文件
·利用xslt对xml进行缩进格式化处理
·动态产生XML文档的几种方式
·用Xml2OleDb将XML文件插入到数据库
·构造未来Web页面的工具语言-- XML
·XML(可扩展标识语言)的产生
·修改大型 XML 文件的有效方法
·使用XML+VBS技术在ASP中实现报表的打印
·使用xmlhttp 实现多文件上传
 相关软件
·ASP+XML 精美留言本
·E路XML留言本(Elook XML GuestBook) v1.0 无组件..
·爱上网XML自助链接
·JOB571.COM即插即用自助友情链接(XML版)
·XML 编程从入门到精通(PDF)
·厦门普工招聘网XML留言簿
·XMLBlueprint XML Editor v3.6
·Altova XMLSpy 2005 SP3 企业特别版
·Ektron eWebEditPro+XML v4.2.0.11 特别版
·XMLwriter v2.5 特别版
 

 热点文章

·XML新增批注、处理指令..
·用ASP、VB和XML建立互..
·XML 中的常见问题
·带可选项、带图片的无..
·将XML文件链接至HTML网..
·用XML实现国家、省的动..
·构造未来Web页面的工具..
·简单的XML留言板
·web.xml中的 security..
·使用xmlhttp 实现多文..
·XML与其相关技术
·简析JAVA的XML编程
·利用XML不离开页面刷新..
·SQL Server和XML的集成..
·修改大型 XML 文件的有..

 推荐文章

·端午非物质文化遗产登..
·动态网站Web开发PHP、..
·PS绘中秋佳节的一轮明..
·细谈网页优化和网站优..
·建站常识:如何使用FT..
·如何快速建造一个成功..
·ASP.NET 2.0 中的创建..
·ASP.NET2.0服务器控件..
·在ASP.NET应用中插入f..
·用Photoshop打造逼真立..
·Windows 2003搭建虚拟..
·站长必读:Web创业的1..
·如何测试机房的速度和..
·北京奥运体育图标发布..
·网络视频广告将身价百..