如何通过javascript在IE中读取XML文件?

时间:2011-07-20 10:20:29

标签: javascript html xml

我有一个关于使用javascript在IE中读取XML的问题。我有以下javascript,它应该读取一个XML文件。但是,我只能在FireFox中读取XML文件,而不能读取IE。任何人都可以帮助我吗?

它显示'访问被拒绝'

function loadXMLDoc(location) {  // location = './abc/abc.xml'
    if (window.XMLHttpRequest)   {
        xhttp=new XMLHttpRequest();
    }
    else  {
        xhttp= new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET",location,false);  // IE mention the error in here
    xhttp.send();
    return xhttp.responseXML;
}

p.s我在这里找到了这个例子' http://www.w3schools.com/dom/tryit.asp?filename = try_dom_loadxml'

1 个答案:

答案 0 :(得分:0)

我的猜测是你没有使用完全限定的URL。试试这个:

var location = 'http://yoursite.com/abc/abc.xml';

你写它的方式,IE可能认为这是一个本地文件,而不是在服务器上。

编辑:如果要加载本地文件,请尝试以下操作:

var location = 'file:///path/to/abc/abc.xml'; // linux

var location = 'C:/path/to/abc/abc.xml'; // windows (I think?)

如果您仍然遇到IE问题,可能与IE的安全设置有关。关闭它们或“低”或其他什么,然后再试一次。

编辑2:根据此answer,Chrome浏览器不允许ajax请求提交:///资源认为本地请求与同源策略冲突。我猜IE实现了相同的约束。没有解决方法,因此:您需要在localhost上运行服务器。 (但是,Firefox 确实允许这些请求。)