2013-01-08 83 views
1

我想加載我的本地系統上的xml文件。但我總是得到Network_err。我做了以下。無法加載JavaScript中的xml文件

function LoadXmlDoc(dName) 
{ 
    var xhttp; 
    if(window.XMLHttpRequest) 
    { 
     xhttp = new XMLHttpRequest(); 
    } 
    else 
    { 
     xhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    try 
    {  
     xhttp.open("GET", "file.xml", false); 
     xhttp.send(); 
    } 
    catch(e) 
    {  
     window.alert("Unable to load the requested file."); 
     return; 
    } 
    return xhttp.responseXML; 
} 

如何加載我的系統上的xml文件。所有文件都在我的電腦上。由於

+0

1)什麼是服務器網址? 2)你試過了嗎? 3)如果您嘗試使用本地文件系統? 。什麼是系統目錄路徑? 。你如何在瀏覽器中嘗試? – kannanrbk

+0

開火錯誤,並看到你正在到達正確的位置。 – AMember

+0

是你的工作? –

回答

1

嘗試:

function XMLDoc() 
{ 
if (window.XMLHttpRequest) 
    { 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    { 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
      alert(xmlhttp.responseText); 
     } 
    }; 
xmlhttp.open("GET","yourfile",true); 
xmlhttp.send(); 
} 

更新由於簡化

調用XMLDoc()並通過您的文件URI,而不是yourfile

注意:不要忘了運行此腳本在服務器上

+1

這裏,我做一個文件夾。我把我的HTML,JavaScript和XML文件在該文件夾中。我運行的HTML。我在哪裏做了一個按鈕,其中的事件javascript函數被調用。謝謝 –

+0

@Sarfraz它將與腳本上面,不客氣... – tnanoba

+0

那麼我應該如何給它的文件名?因爲如果我試圖給「file.xml」,它會給出同樣的錯誤。 –

1

你可能需要給XML文件的正確的路徑是這樣

xhttp.open("GET", "file:///C:/file.xml", false); 
     xhttp.send(); 

會做工作FO ryou

完整的代碼就會像,瞭解更多:Loading XML with Javascript

var xmlDoc; 
    var xmlloaded = false; 

    function initLibrary() 
    { 
     importXML("file:///C:/file.xml"); 
    } 

    function importXML(xmlfile) 
    { 
     try 
     { 
      var xmlhttp = new XMLHttpRequest(); 
      xmlhttp.open("GET", xmlfile, false); 
     } 
     catch (Exception) 
     { 
      var ie = (typeof window.ActiveXObject != 'undefined'); 

      if (ie) 
      { 
       xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
       xmlDoc.async = false; 
       while(xmlDoc.readyState != 4) {}; 
       xmlDoc.load(xmlfile); 
       readXML(); 
       xmlloaded = true; 
      } 
      else 
      { 
       xmlDoc = document.implementation.createDocument("", "", null); 
       xmlDoc.onload = readXML; 
       xmlDoc.load(xmlfile); 
       xmlloaded = true; 
      } 
     } 

     if (!xmlloaded) 
     { 
      xmlhttp.setRequestHeader('Content-Type', 'text/xml') 
      xmlhttp.send(""); 
      xmlDoc = xmlhttp.responseXML; 
      readXML(); 
      xmlloaded = true; 
     } 
    } 
+0

我把我的文件放在C目錄下。運行你給定的代碼,但它仍然會給出同樣的錯誤。 NETWORK_ERR –