以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』 (http://bbs.xml.org.cn/list.asp?boardid=22) ---- [求助]如何让Ajax读取本地的xml文件进行更新网页 (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=36657) |
-- 作者:huoniao -- 发布时间:8/11/2006 1:26:00 AM -- [求助]如何让Ajax读取本地的xml文件进行更新网页 我正在学习Ajax,编写一个html 部分代码如下: ... ... function AjaxRead(fileName){ var myXmlObj = null; if(window.XMLHttpRequest){ myXmlObj = new XMLHttpRequest(); } else if(window.ActiveXObject){ myXmlObj = new ActiveXObject("Microsoft.XMLHTTP"); } else { return; } myXmlObj.onreadystatechange = function(){ if(myXmlObj.readyState == 4){ updateObj('testXmlObj',myXmlObj.responseXML.getElementsByTagName('data')[0].firstChild.data); } } myXmlObj.open ('GET', file, true); myXmlObj.send (''); } function updateObj(obj, data){ document.getElementById(obj).firstChild.data = data; } ... ... <p id="testXmlObj"> |
-- 作者:upc2neiep -- 发布时间:8/11/2006 4:30:00 PM -- 不说其他的,本地文件为什么还要用Ajax。。。。 |
-- 作者:cwzb -- 发布时间:8/13/2006 3:14:00 PM -- 执行的效果只是把testdata.xml文件给打开了,而没有达到局部更新网页的效果 //你这话问得怪.... AJAX=XMLHTTP+JAVASCRIPT 这个要明确. 第二 AJAX,是一个通道,提供你的数据流进流出的...而不是帮你更新页面的.. 如果你想要通过XML的加载来更新页面数据,你需要学习我的OPS 我写一段WEI代码: //上面只是一段WEI代码,要说明的一点,就是在AJAX的基础上,你必须有代码把XML数据绑到页面上. |
-- 作者:cwzb -- 发布时间:8/13/2006 3:21:00 PM -- 下面,是一段OPS格式的XML数据,可以试一下,把下面的代码复制出来. 打开 (http://www.cwzb.name/ops_client/3_0/demo/psc.htm) 这个页面,把刚才复制的XML粘贴到页面最下方的一个输入框里,然后点击"加载OPS" 关于OPS的介绍,可以在版里查看相关资料或者到我的个人网站http://www.cwzb.name查看相关资料. -------------------------------------------------------------------------------------------------------------------- <PsObject> |
-- 作者:huoniao -- 发布时间:8/16/2006 8:44:00 AM -- to upc2neiep: 因为我不知道除了ajax以外,还有其他的方法可以局部更新网页吗?
|
-- 作者:huoniao -- 发布时间:8/16/2006 9:01:00 AM -- to cwzb: 谢谢您的指导。 我刚刚接触ajax,ajax可以把存在服务器中的xml文件读取到本地,然后根据需要可以局部更新网页,那如果把xml文件放到本地,怎么局部更新网页呢? 关于您的ops,我又看晕了,不知道怎么使用它,任何一台pc不用进行相关配置就可以使用ops技术吗?不用通过服务器来做相应的服务吗? |
-- 作者:huoniao -- 发布时间:8/16/2006 12:27:00 PM -- 我现在有这样一个课题 把一组压缩后的数据放到server中(数据量很大),在任何一台pc上通过IE登录到webserver,从server中取得数据,并且在本地解压缩,然后根据数据内容,局部更新网页。 我的设想是:通过IE登录到webserver后,从服务器上下载并安装activeX插件,该插件由于接收数据、并对其解压缩。 各位有没有更好的建议来实现? to cwzb: |
-- 作者:cwzb -- 发布时间:8/17/2006 5:56:00 PM -- 归根到底,对WEB与浏览器相关的材料还要多看看... 特别是浏览器的处理机制. |
-- 作者:huoniao -- 发布时间:8/17/2006 6:41:00 PM -- 晕了,如果用C/S结构来实现的话,应该很好实现,但要用B/S结构,需要学习的东西很多呀 document.getElementById(obj).firstChild.data = data; 另外我从网络中查到 to cwzb: 对于那个课题,还有哪些好的建议吗?请指教!
|
-- 作者:cwzb -- 发布时间:8/19/2006 11:04:00 AM -- 归根到底,对WEB与浏览器相关的材料还要多看看... 特别是浏览器的处理机制. ///------------------------------------------------------------------------- 就这个了... |
-- 作者:Qr -- 发布时间:8/19/2006 11:25:00 AM -- ================================= document.getElementById(obj).firstChild.data = data; 这句话是不更新网页的吗?它不是Ajax吗? ================================= 如果一定要区分,应该归属AJAH ================================= |
-- 作者:huoniao -- 发布时间:8/22/2006 9:09:00 AM -- to Qr,各位高手: function AjaxRead(fileName){ myXmlObj.onreadystatechange = function()这句话不是定义了回调函数吗? 附件是我编写的html和xml文件,请指导,谢谢 |
-- 作者:Qr -- 发布时间:8/22/2006 10:01:00 AM -- 用file://c:/data.xml就出错,改data.xml可以,估计是XMLHttpRequest不能读取本地XML。 |
-- 作者:huoniao -- 发布时间:8/22/2006 10:59:00 AM -- 我刚才也跟了一下,XMLHttpRequest不能读取本地文件 那么如果必须读取本地文件并局部更新网页,应该怎么办?使用什么技术? |
-- 作者:YHai -- 发布时间:8/23/2006 4:01:00 PM --
把testdata.xml文件给打开了,是因为存在这个链接 |
-- 作者:YHai -- 发布时间:8/23/2006 4:04:00 PM -- 还有 myXmlObj.open ('GET', file, true); 需改成 myXmlObj.open ('GET', fileName, true); |
-- 作者:huoniao -- 发布时间:8/31/2006 9:24:00 AM -- to YHai 不好意思,没有明白您写的内容 把testdata.xml文件给打开了,是因为存在这个链接 您的意思是不是 还有 myXmlObj.open ('GET', file, true); 需改成 myXmlObj.open ('GET', fileName, true); 您的意思是不是 请指导 |
-- 作者:vachin -- 发布时间:9/26/2006 9:35:00 AM -- 貌似xmlhttp对象无法获取本地xml文件,只能获取web上的xml文件 你可以使用xmldom对象,使用load函数来加载本地xml文件 |
-- 作者:zaku -- 发布时间:5/20/2008 5:32:00 PM -- 这个问题我研究了3天。现在基本上了解了一些,研究成果如下: 1、XMLHttpRequest对象是可以读取本地文件的(以xml文件为主); 2、但XMLHttpRequest对象用.responseXML返回XML DOM时返回状态值为0,能返回XML DOM对象,但其内容为null,即XML DOM不能获取本地XML文件的内容; 3、但用XMLHttpRequest对象的.responseText,能返回正确的字符串形式的内容,既XMLHttpRequest对象可以读取本地文件,但只能返回字符串格式,不能返回有内容的XML DOM对象; 4、在服务器上(包括本地架的,也就是说只要是在服务器环境下)的xml文件,XMLHttpRequest对象无论.responseXML还是.responseText都能正常操作,前者返回XML DOM对象,后者返回字符串; 5、如果一定要操作本地xml文件,可以用XMLHttpRequest对象的.responseText来实现变相的操作; 6、如果一定要操作本地xml文件,并一定要使用XML DOM对象的方法,可以使用XML DOM对象的load函数来加载本地xml文件,具体方法如下: |
-- 作者:huoniao -- 发布时间:5/20/2008 5:55:00 PM -- to zaku,以及关注这个帖子的各位: 这是06年的老帖子了,-_-! 十分感谢关心,并解决这个问题的各位!!! 这个课题是为了对应客户在下载服务器压缩数据后,在本地解压并通过IE实时显示、处理系统而设立的,因为当时没有解决这个问题,就采用其他方法解决了。因此这个课题就取消了。 |
-- 作者:fisherlover -- 发布时间:5/23/2008 4:20:00 PM -- 不错,看了之后觉得还是很有用,支持支持! |
-- 作者:ansir127 -- 发布时间:8/14/2008 2:06:00 PM -- 请加下我QQ 我要请教一下373252017 373252017 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
109.375ms |