【发布时间】: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