日期:2014-05-16  浏览次数:20305 次

JS读取远程XML的问题
我在打开用   JS读取远程的XML   做的页面出现了IE提示:该页政治访问其控制范围之外的信息.这有些危险.是否继续?   的提示框.点 "是 "后正常访问.XML的信息可以读取.点 "否 "当然就不能访问.
而如果是其他电脑访问该页的话根本不出现提示框,直接提升JS代码错误,是提示某某行无法访问.估计应该是无法访问远程XML文件.

我的代码如下:
var   XMLDOM   =   new   ActiveXObject( "Microsoft.XMLDOM ");
XMLDOM.async=false;
XMLDOM.load( "http://www.???.com/xml/main.xml ");
..读取接点和显示XML文件这里省略...

请问各位.这应该怎么解决.请各位帮帮忙.小弟先在这里谢谢各位了.

------解决方案--------------------
现在的浏览器 xmldom 已经禁止向外域访问XML文件了。即你这种直接 load 模式是行不通的。
不过你可以让你自己的服务器作一下二传手。你的浏览器端向你自己的服务器端发起请求,然后你的服务器去取外域的XML文件,再回传给浏览器端。
------解决方案--------------------
meizz(梅花雪) 说得比较清楚了。
其实,你可以做个简单的SERLET,代理输出别的网站的内容。
就是把http://www.???.com/xml/main.xml 的内容在你的 WEB 服务器里重新输出一下,
这样就没有了跨域访问的限制。

------解决方案--------------------
response.contentType= "text/xml "
set xhr=server.createObject( "microsoft.xmlhttp ")
xhr.open "get ", "http://www.xxxx.com/xx.xml ",false
xhr.send
response.write xhr.responsexml.xml
------解决方案--------------------
然后
<script>
var xhr=new AjaxUpdater(method: "get ",[parameters:url...])
....
具体忘了怎么写了.
</script>