我想加載一個XML文件並獲取它的DOM對象。我認爲錯誤是與此代碼:問題xmlHttp.send()方法
// Takes an XML document and loads it and returns a DOM of the document
function loadXMLDoc(filepath)
{
if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari
{
xmlhttp = new XMLHttpRequest();
}
else // code for IE6, IE5
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", filepath, false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
return xmlDoc;
}
的代碼在xmlhttp.send()
停止執行。我收到以下錯誤消息:
XMLHttpRequest cannot load file://localhost/Users/Dylan/programming/projects/personalpage/resources/cool-data.xml. Cross origin requests are only supported for HTTP.
Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
這突出了xmlhttp.send()
行。我之前有這個工作,我不認爲我對文件做了任何修改。我知道的唯一區別是我現在正在我的本地機器上執行此操作。在我使用在線託管的IDE(cloud9)之前,所有這些文件都是在Web服務器上遠程執行的。此外,它在Windows上工作,我現在在Mac上。
編輯:我用參數調用函數:"../resources/items-data.xml"
和我所有的工作都在我的本地機器上。等級目錄是js
,html
,css
和resources
。
您無法加載本地xml文件我的文件:// url改爲嘗試https:// localhost/url ...希望這有助於 – Dinash
您使用哪個參數調用了您的函數以及從哪個網站? XMLHTTPRequest應該執行嚴格的同源規則。 –
實際上,如果你仍然在本地主機工作,同源策略將不會被強制實施。 –