2

我有一个保存到 XML 文件中的培训日期列表,我有一个小的 javascript 文件,它解析所有培训日期并将它们吐出到一个格式整齐的页面中。在我们决定希望另一个服务器上的另一个网页访问同一个 XML 文件之前,这个解决方案很好。

由于我不能使用 JavaScript 来解析位于另一台服务器上的 XML 文件,我想我只需要使用 ASP 脚本。但是,当我运行以下命令时,我得到一个响应,即有 0 个节点匹配一个应该有多个值的节点:

<%
Dim URL, objXML
URL = "http://www.site.com/feed.xml"
Set objXML = Server.CreateObject("MSXML2.DOMDocument.3.0")
objXML.setProperty "ServerHTTPRequest", True
objXML.async =  False
objXML.Load(URL)

If objXML.parseError.errorCode <> 0  Then
    Response.Write(objXML.parseError.reason)
    Response.Write(objXML.parseError.errorCode)
End If

Response.Write(objXML.getElementsByTagName("era").length)
%>

我的问题有两个:

  1. 有没有办法可以使用 java-script 来解析远程 XML 文件
  2. 如果没有,为什么我的代码没有给我正确的响应?
4

1 回答 1

1

有没有办法可以使用 java-script 来解析远程 XML 文件

要绕过 SOP 限制,您可以使用与 JSONP 相同的方式进行操作(只需发送 XML)

http://en.wikipedia.org/wiki/JSONP#JSONP

所以你会(也许是动态地)在你的页面中插入一个脚本标签:

<script type="text/javascript" 
        src="http://otherdomain.com/getXml?jsonp=parseXml">
</script>

服务器将返回此内容:

parseXml("<?xml version=\"1.0\">...");

然后你只需要parseXml(xmlStr)在你的脚本中定义一个函数(但我认为你已经有了一个)。

于 2010-03-31T16:21:18.317 回答