2011-11-08 17 views
0

単純なjavascriptを使用してローカルXMLファイルを解析しようとすると、xhr.open後のコードが実行されません。インターネットで検索するとjavascriptでローカルXMLファイルを解析できません

<html> 
<head> 
<script type="text/javascript"> 
function createXMLHttpRequestObject() 
{ 
    if (window.XMLHttpRequest) { 
     xhttp=new XMLHttpRequest(); 
    } else { 
     xhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    return xhttp; 
} 

function makeRequest() 
{ 
    var xhr = createXMLHttpRequestObject(); 

    try { 
    xhr.open("GET", 'books.xml', false); 
    xhr.send(null); 
    //xhr.onreadystatechange = function() { 
    //if(this.readyState == 4) { 
     xmlDoc=xhr.responseXML; 
    alert(xmlDoc); 
    //} 
    } 
    } catch(err) { 
     alert("ERROR: " + err.description); 
    } 
} 
</script> 
</head> 
<body> 
    <div onclick="makeRequest();">test<br></div> 
    <div id="out">Output Here</div> 
</body> 
</html> 

Books.xmlファイルは以下の通りです、

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!-- Edited by XMLSpy® --> 

<bookstore> 

    <book category="COOKING"> 
     <title lang="en">Everyday Italian</title> 
     <author>Giada De Laurentiis</author> 
     <year>2005</year> 
     <price>30.00</price> 
    </book> 

    <book category="CHILDREN"> 
     <title lang="en">Harry Potter</title> 
     <author>J K. Rowling</author> 
     <year>2005</year> 
     <price>29.99</price> 
    </book> 

    <book category="WEB"> 
     <title lang="en">XQuery Kick Start</title> 
     <author>James McGovern</author> 
     <author>Per Bothner</author> 
     <author>Kurt Cagle</author> 
     <author>James Linn</author> 
     <author>Vaidyanathan Nagarajan</author> 
     <year>2003</year> 
     <price>49.99</price> 
    </book> 

    <book category="WEB"> 
     <title lang="en">Learning XML</title> 
     <author>Erik T. Ray</author> 
     <year>2003</year> 
     <price>39.95</price> 
    </book> 

</bookstore> 

iは、「セキュリティ上の理由から、現代​​のブラウザでは、ドメイン間のアクセスを許可していません。」ことがわかりました http://www.w3schools.com/xml/xml_parser.asp

助けてください。

答えて

0

ウェブサーバーをlocalhostに設定する代わりに、aptana studiソフトウェアをダウンロードしてプロジェクトをインポートしてください。htmlファイルを実行すると、aptanaが直接ブラウザを開き、自動的に名前がhttp: /127.0.0.1:8000/yourprojectName

その後、エラーは発生しません。

+0

ありがとうございました。 :) –

+0

@PravinChikhale答えを受け入れて、この質問を閉じてください... –

0

ローカルファイルは、移動禁止領域と見なされることをお勧めします。セキュリティの制限はかなり高いです。代わりにlocalhostでWebサーバーを実行し、それを使用してページにアクセスします。

+0

ありがとうございました。 –

0

ローカルWebサーバーを使用して問題をすばやく解決しようとする場合があります。

+0

ありがとうございました。 –

関連する問題