【问题标题】:XMLHTTPRequest in IE9 "Access is denied" errorIE9 中的 XMLHTTPRequest“访问被拒绝”错误
【发布时间】:2014-10-03 03:39:28
【问题描述】:

我正在用 JavaScript 编写一个小程序来从本地 XML 文件中读取数据。当我尝试加载此文件时,我收到来自 IE9 的错误消息:

SCRIPT5: Access is denied

当我尝试在 Chrome 中加载相同内容时,我收到一条错误消息:

XMLHttpRequest cannot load file://... cross origin requests are only supported for HTTP

Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file...

以下是我的代码:

<!DOCTYPE html>
<html>
<head>
    <h1 id="si">Search Input</h1>
    <button onclick="promptSearch()">Search By Vessel Name</button>
    <h1 id="sr">Search Result</h1>
<script>
    function loadXMLDoc(filename) {
        if (window.XMLHttpRequest) {
            xhttp=new XMLHttpRequest();
            }
        else { // for IE5 and IE6
            xhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
        xhttp.open("GET",filename,false);
        xhttp.send();
        return xhttp.responseXML;
        }
    function promptSearch() {
        var prmpt = window.prompt("PLease enter vessel name:", "Vessel Name");
        var search= prmpt.toLowerCase();        
        if(prmpt != null){
            document.getElementById("si").innerHTML = search;
        }
        document.getElementById("sr").innerHTML = searchData();
    }   
    function searchData() {
        xmlDoc=loadXMLDoc("vesselData.xml");
    }
</script>
</head>
</html>

【问题讨论】:

  • 您是否尝试从本地文件而不是从 HTTP 服务器运行此 Javascript?您不能在本地文件中使用 AJAX。

标签: javascript xml xmlhttprequest internet-explorer-9


【解决方案1】:

出于安全原因,浏览器不允许页面中的 JavaScript 访问其周围的本地文件,除非您在 HTTP Server 上运行它。

您可以使用简单的HTTP Server,您当前的问题将得到解决。

您可以使用nodejs 创建一个简单的HTTPServer,如图所示here

【讨论】:

  • 谢谢!稍作重新格式化后,问题就消失了。
  • 这应该是讽刺还是你真的让它在本地服务器上工作?
  • 抱歉,我好像删除了包含'send()'方法的代码行,所以错误不再出现。当“xhttp.responseXML”返回 null 时,我意识到了这一点。感谢您对 HTTP 服务器的回答。那么有没有办法使用Javascript在本地访问XML文件呢?
  • 不,如果不在服务器上运行,就无法通过 JavaScript 访问任何其他本地文件。
  • 在上面的答案中添加了一个简单的教程,以节省您的研究时间。
猜你喜欢
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 2015-01-09
  • 2014-05-21
  • 2012-07-12
  • 2014-11-20
相关资源
最近更新 更多