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

今天做一很简单的功能,就是将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才开始作转换。终于搞定了问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值