xmlHTTP SCRIPT5:访问被拒绝错误

时间:2012-11-20 15:08:39

标签: javascript jquery google-chrome internet-explorer-10

有一个我无法克服的错误。它涉及读取本地文件。代码如下,完全适用于Chrome。在IE10上,它适用于jQuery而不适用于xmlHTTP。 xmlHTTP路由将出现SCRIPT5: Access is Denied错误。

我在代码中没有看到任何跨域操作,但为了确保灵活性,我更改了安全设置以允许跨域代码,但仍然无法正确执行。非常感谢大家的专业知识!

外部引用是test.txt,它是一个与此HTML文件位于同一目录中的简单文件,包含一行文本。

<!DOCTYPE html>
<html>
 <head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
</head>
<body>
<script>
function getXmlHttp() {
   if (window.XMLHttpRequest) {
      xmlhttp=new XMLHttpRequest();
   } else if (window.ActiveXObject) {
      xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
   }
   if (xmlhttp == null) {
      alert("Your browser does not support XMLHTTP.");
   }
   return xmlhttp;
}


function readFileHttp(fname, callback) {
   xmlhttp = getXmlHttp();
   xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState==4 ) { 
          callback(xmlhttp.responseText); 
      }
   }
   xmlhttp.open("GET", fname, true);
   xmlhttp.send(null);
}

function handleTextFile(e){
   var strOutput = String(e);
   var result = document.getElementById('xmlHTTPText');
   result.innerHTML = strOutput;
}

function doXMLHTTP(){
   readFileHttp("./test.txt", handleTextFile);
}

function handleJQTextFile(e){
   var strOutput = String(e);
   var result = document.getElementById('jQueryText');
   result.innerHTML = strOutput;
}

function doJQuery(){
   $.get("./test.txt", handleJQTextFile);
}

</script>
<button onclick="doJQuery()">doJQuery</button>
<button onclick="doXMLHTTP()">doXMLHTTP</button>
<BR />
<A>jQueryText:&nbsp;</A><A id="jQueryText"></A>
<BR />
<A>xmlHTTPText:&nbsp;</A><A id="xmlHTTPText"></A>

</body>
</html>

0 个答案:

没有答案