2010-06-24 75 views
0

我想檢索文件的完整路徑並將其傳遞給javascript。要求是我需要使用JavaScript檢索XML文件。使用javascript檢索文件的完整路徑

+0

是您的網站的文件部分或沒有用戶需要指定文件? – Dror 2010-06-24 06:17:06

+0

這個東西是本地還是偏遠? – Pierreten 2010-06-24 06:18:01

+0

@ Dror:文件是我的網站的一部分.. @pierreten:我測試它在本地..但它應該在遠程工作.. – SAK 2010-06-24 06:23:01

回答

1

如果它是一個文件,你可以比較訪問你的網頁,這樣做:

var xmlDoc=new ActiveXObject("MSXML.DOMDocument"); 
xmlDoc.async="false"; 
xmlDoc.load("abc.xml"); 

假設你有靠近abc.xml您的網頁...

這沒有按」指定如何獲得XML的完整路徑 - 你還需要它還是加載它就足夠了?

對於(來源:http://developer.apple.com/internet/webcontent/xmlhttpreq.html)跨瀏覽器

var req; 
loadXMLDoc("abc.xml"); 

function loadXMLDoc(url) { 
    req = false; 
    // branch for native XMLHttpRequest object 
    if(window.XMLHttpRequest && !(window.ActiveXObject)) { 
    try { 
       req = new XMLHttpRequest(); 
      } catch(e) { 
       req = false; 
      } 
     // branch for IE/Windows ActiveX version 
     } else if(window.ActiveXObject) { 
      try { 
       req = new ActiveXObject("Msxml2.XMLHTTP"); 
      } catch(e) { 
       try { 
        req = new ActiveXObject("Microsoft.XMLHTTP"); 
       } catch(e) { 
        req = false; 
       } 
      } 
     } 
     if(req) { 
      req.onreadystatechange = processReqChange; 
      req.open("GET", url, true); 
      req.send(""); 
     } 
    } 

    function processReqChange() { 
     // only if req shows "loaded" 
     if (req.readyState == 4) { 
      // only if "OK" 
      if (req.status == 200) { 
       // ...processing statements go here... 
       alert(req.responseXML); 
      } else { 
       alert("There was a problem retrieving the XML data:\n" + req.statusText); 
      } 
     } 
    } 
+0

我不會將文件名保存爲.xml,而是我將它保存爲abc.config這也是一個xml文件,就像web.config文件一樣! 當我試圖加載使用xmlDoc.load(「abc.xml」);它工作得很好,但是當我加載使用xmlDoc.load(「abc.config」); xmldoc未加載.. – SAK 2010-06-24 07:47:21

+0

請參閱:http://stackoverflow.com/questions/2046828/open-xml-file-with-different-extension-using-loadxmldoc 另請注意 - 我提供的代碼不是跨瀏覽器! ! – Dror 2010-06-24 08:48:49

+0

哦..然後我需要跨瀏覽器支持! – SAK 2010-06-24 09:27:16

1

如果您事先知道確切的文件,您可以創建一個服務器端程序(即服務)來讀取文件,解析並輸出它。

然後你只需要編寫一些Javascript來對這個服務進行AJAX調用(檢出一個Javascript庫,如Prototype或JQuery)來讀取服務的輸出以及文件的內容。

相關問題