`

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

 
阅读更多
转于 http://blog.csdn.net/firewing/article/details/323923
今天做一很简单的功能,就是将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才开始作转换。终于搞定了问题。

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


分享到:
评论

相关推荐

    javascript DOM 操作.doc

    载入 XML 数据:在IE中,可以使用load方法从文件载入XML数据,默认采用异步方式。load方法可以载入xml文件,loadXML方法可以载入xml字符串。 ```javascript oXmlDom.async = false; oXmlDom.load("example.xml"); //...

    asp异步刷新最好的例子

    ASP(Active Server Pages)是一种微软开发的服务器端脚本环境,用于创建动态交互式网页。在ASP中,异步刷新是一种提高网页响应速度和用户体验的技术,它允许部分页面在不重新加载整个页面的情况下进行更新。这通常...

    ajax实现页面内部模块更新

    4. **异步与同步**:默认情况下,Ajax请求是异步的,允许用户在等待响应时继续操作。如果需要等待响应返回再执行后续操作,可以设置`open()` 方法的第三个参数为`false`,使其变为同步。 ### 三、Ajax + ASP 示例 ...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    我们看上面的例子,在myfile.htm中,我们只关心页面的显示方式,我们可以设计不同的界面,用不同的方式来排版页面,但数据是储存在myfile.xml中,不需要任何改变。 (如果你是程序员,你会惊讶的发现,这与模块化...

    ASP实例开发源码—asp+XML留言本 v1.2.zip

    此外,ASP.NET中还引入了XMLHttpRequest对象,允许异步地与服务器进行数据交换,这是AJAX(Asynchronous JavaScript and XML)技术的基础。 【asp+XML留言本系统】 ASP与XML的结合在“ASP实例开发源码—asp+XML...

    ASP源码—静态网页中通过ASP+AJAX读取数据库实例.zip

    在IT领域,ASP(Active Server Pages)是一种微软公司开发的服务器端脚本环境,用于创建动态交互式网页。它允许开发者使用VBScript或JScript语言编写脚本,并在服务器上执行,生成HTML页面发送到客户端浏览器。而...

    ASP XML编程objXML.async = False第1/2页

    Set objXML = Server.CreateObject("Microsoft.XMLDOM") objXML.load(Server.MapPath("mydata.xml")) Set objRootElement = objXML.documentElement ``` 在加载XML文档之前,如果要确保文档为有效,可以设置...

    前端js分类管理操作 v1.0.rar

    4. **XML数据读取**:XML(eXtensible Markup Language)是一种用于标记数据的语言,常用于存储和传输结构化数据。在这个系统中,前端可能通过Ajax从后端获取XML文件,然后解析XML数据,展示在用户界面上。 5. **...

    Microsoft.XMLHttp组件的属性方法

    返回响应体作为XML文档对象模型(DOM),方便处理XML数据。 ### 示例代码 下面是一个简单的示例代码,展示如何使用`Microsoft.XMLHttp`组件发送一个HTTP GET请求,并读取响应内容: ```vbscript Set objXML = ...

    给予AJAX的监控系统

    之后,服务端从共享内存中读取数据并返回给客户端浏览器。浏览器端的JavaScript脚本将动态显示接收到的数据,实现远程监控的功能。 #### 四、结论 基于Ajax技术的实时监控系统克服了传统监控系统的局限性,能够...

    vs2013下使用windows api进行爬虫演示

    5. **接收响应**: 通过`InternetReadFile()`函数读取服务器返回的数据。这个过程通常是循环的,直到没有更多的数据可用。 6. **处理响应数据**: 爬虫的目标是提取有用信息,这可能涉及HTML解析。可以使用第三方库如...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    14.3.2 读取XML文件 14.4 内存中的XML处理 14.4.1 XmlDocument 14.4.2 XPathNavigator 14.4.3 XDocument 14.5 搜索XML内容 14.5.1 搜索XmlDocument 14.5.2 使用XPath搜索XmlDocument 14.5.3 使用...

    ASP.NET4高级程序设计(第4版) 3/3

    14.3.2 读取XML文件 478 14.4 内存中的XML处理 481 14.4.1 XmlDocument 482 14.4.2 XPathNavigator 485 14.4.3 XDocument 486 14.5 搜索XML内容 491 14.5.1 搜索XmlDocument 491 14.5.2 使用XPath...

    ASP开发典型模块大全(16-23)

    8. **XML处理**:XML常用于数据交换,ASP可以使用DOM或XMLHTTP对象解析和操作XML文档。 9. **URL重写**:通过ISAPI筛选器或IIS URL重写模块,ASP可以实现友好的SEO优化的URL,隐藏实际的动态页面路径。 10. **脚本...

    非常实用asp网站前台和后台源代码

    在源代码中,可能会包含多个`.asp`文件,这些文件中包含了HTML结构、VBScript或JScript脚本以及可能的AJAX(异步JavaScript和XML)请求,以实现无刷新的数据更新。JavaScript通常用于表单验证、页面交互和DOM操作,...

    关于asp学习示例

    2. **交互增强**:ASP页面可以通过JavaScript实现异步更新,利用XMLHttpRequest对象发送AJAX(Asynchronous JavaScript and XML)请求,更新部分页面内容,无需刷新整个页面。 3. **服务器端与客户端通信**:ASP...

    超级有影响力霸气的Java面试题大全文档

     forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。...

    AJax 学习笔记一(XMLHTTPRequest对象)

    XMLHttpRequest对象是AJAX(Asynchronous JavaScript and XML)技术的核心组成部分,它允许JavaScript与服务器进行异步通信,无需刷新整个页面就能更新网页内容,从而极大地提升了用户体验。在本文中,我们将深入...

Global site tag (gtag.js) - Google Analytics