主题:  JS结合XML制作网页中的奇怪问题,高手乱入!

不是高手

职务:普通成员
等级:3
金币:5.0
发贴:1352
注册:2002/8/23 2:27:18
#12003/5/20 23:46:59
本人设想用JS历遍一个标准的XML文档,循环取出内容,在表格中显示出来
在本地打开做好的文档,一切正常,可是无论在本地的webserver下或者上传到远程的FTP里浏览,均无法正常显示数据。

症状:要么JS报错,说无法找到对象,要么无出错信息,但是仍然无法显示数据,有时刷新多次,偶尔会正常显示数据,但是再次刷新页面,数据又无法显示。

猜测:由于本地浏览,不存在网络速度问题,所以都能解析,而在webserver下可能会受影响,导致JS在历遍XML文档的时候其还没有完全下载。

困惑:不过我即使把外联的XML和JS文档代码都写在了同一个页面里,仍然会有以上问题,无限困惑中,望高手相助,不胜感激。

网页地址:
test.21esp.com/yuan/xml/index2.htm (所有代码写在同一页面)
test.21esp.com/yuan/xml/index.htm (外联XML和JS文件)



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#22003/5/21 8:17:47
这样试试 async="false">



=ridincal=

职务:管理员
等级:7
金币:20.0
发贴:5886
注册:2004/1/13 11:47:04
#32003/5/21 9:21:50
默认是同步吗?



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#42003/5/21 10:19:00
我觉得应该是吧~



我佛山人

职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
#52003/5/21 18:59:14
应该在页面下载完才执行脚本吧?
试试把脚本写在
function window.onload(){
...
}
里看看

对async有理解有点问题,单词的意思是异步,可是默认值是async=true,那就是说默认应该是异步才对?

其实没必要用JS解释XML的,直接用XSL或者以数据岛方式写


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]



不是高手

职务:普通成员
等级:3
金币:5.0
发贴:1352
注册:2002/8/23 2:27:18
#62003/5/21 21:04:00
我用过数据岛方式,这种方式是把所有数据统统显示在一个页面
我想做成翻页方式的,所以只能采用DOM方式访问XML树。
starsjz的方式偶去试试,谢谢了
最近太忙,呵呵,加班喽~~~~~~~~~~~~~
再次谢谢各位。



不是高手

职务:普通成员
等级:3
金币:5.0
发贴:1352
注册:2002/8/23 2:27:18
#72003/5/21 21:50:32
刚试验下来,好像和async="false"没什么关系,偶稍微修改了一下,发现只要将XML文件包含进来,那显示就正常了,如果做成外联文件,那又不正常了,呵呵,很奇怪,怎么让XML文件加载完毕才执行JS呢?

大家可以再去看看上面地址显示的文件,正常了,不过XML代码是写在了HTML里的。

编辑历史:[这消息被aquarior编辑过(编辑时间2003-05-21 21:54:09)]


5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:622
注册:2001/10/21 13:06:17
#82003/5/23 9:58:48
我记得微软的数据绑定技术也可以翻页的,

它把数据到看成数据库记录集,然后可以指定pageSize。

(我记不清楚,你自己查查资料看)

msdn.microsoft.com/library/default.asp?url=/workshop/author/databind/data_binding_node_entry.asp