2013-08-17 61 views
3

當我嘗試打開具有JavaScript的HTML文件時,網頁上沒有打印任何內容。 html代碼中的腳本加載xml文件並嘗試打印一些元素數據。 我已經粘貼下面的代碼。可悲的是沒有文件的數據被打印。我使用過瀏覽器IE8和Chrome。請讓我知道是什麼問題。使用javascript加載xml文件

<!DOCTYPE html> 
<html> 
    <head> 
     <script> 
      function loadXMLDoc(dname) 
      { 
       if (window.XMLHttpRequest) 
       { 
        xhttp=new XMLHttpRequest(); 
       } 
       else 
       { 
        xhttp=new ActiveXObject("Microsoft.XMLDOM"); 
       } 

       xhttp.open("GET",dname,false); 
       xhttp.send(); 
       return xhttp.responseXML; 
      } 
     </script> 
    </head> 
    <body> 
     <script> 
      xmlDoc=loadXMLDoc("file:///E:/Parser/book.xml"); 

      document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue + " <br>"); 
      document.write(xmlDoc.getElementsByTagName("authors")[0].childNodes[0].nodeValue + "<br>"); 

     </script> 
    </body> 
</html> 
+1

因爲您使用的是ActiveX,所以您絕對不會喜歡Chrome。你有沒有機會建立一個Web服務來表示該XML文件? –

+0

您控制檯中的任何錯誤? – metadings

回答

4

你不能用ajax

xmlDoc=loadXMLDoc("file:///E:/Parser/book.xml"); 

因爲的JavaScript在Web瀏覽器中運行沒有訪問到本地文件系統這不能進行打開本地文件。這會帶來巨大的安全風險。

+0

它可以訪問本地文件系統。問題是遠程觀看者無法訪問他*文件系統。 – amphetamachine

+0

請給我建議這個問題的替代方案或可能的解決方案。我從W3C網站獲得了這些代碼。謝謝 – user2281107

+0

這些鏈接可以幫助你http://stackoverflow.com/questions/16417211/load-xml-file-content-into-div-using-jquery,http://stackoverflow.com/questions/13390722/read-xml -file-with-jquery,http://forum.jquery.com/topic/using-jquery-to-load-an-xml-file – Amith