您的位置:首页 > 其它

Microsoft XMLDom读取数据原来默认是异步的!

2005-03-19 15:59 281 查看
今天做一很简单的功能,就是将xml数据用xsl转换一下而已。以前一直都没注意xmldom获取数据默认是异步的方式的。每次都是load完xml数据以后就直接调用transfer了。之前因为一直都是在本地调试,没有部署在Web服务器上,但是今天部署上去后发现transfer时经常报"The data necessary to complete this operation is not yet available. "错误。郁闷了好久,才发现原来Dom.load(dataSrc)里面应用的数据源由于速度较低,在transfer之前都还没有load完。查了半天程序,因为transfer是在load后面的一位Dom如果没有load完的话肯定不会执行转换,而且尝试过直接在IE上打开这些XML文件和XSL文件一点问题都没有。于是赶快查MSDN,发现async property of a
DOMDocument默认是true的。所以load方法执行了之后马上就返回了,这时候不一定会已经把我需要的xml读取完成,造成了上面的错误。郁闷。

后来把Transfer的动作放在了onreadystatechange事件里面,判断readyState等于4才开始作转换。终于搞定了问题。

感慨一下:基础知识不扎实啊,对自己用到的东西不了解啊!


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: