2010-07-21 112 views
5

我想加載本地.txt文件並使用javascript中的內容。 我的本地文件,如C:\用戶\誰\桌面\ file.txt的 感謝使用jquery從javascript加載.txt文件

+2

很酷。你有什麼問題? – Yacoby 2010-07-21 22:37:41

+0

可能的重複:http://stackoverflow.com/questions/196498/how-do-i-load-the-contents-of-a-text-file-into-a-javascript-variable – mk12 2010-07-21 22:40:51

+0

我見過它。但我想直接從我的電腦中獲得紅外。 jQuery.get('file:// C:/Users/Luccas/Desktop/idades.txt',function(data){ var myvar = data; }); 似乎不工作,唯一的解決方案放在服務器上通過ajax獲得說下。 – Luccas 2010-07-21 22:43:41

回答

5

默認情況下,出於安全原因,不允許javascript訪問本地文件系統。如果你想允許一個特定的腳本訪問本地文件,那麼你有2個選項。 1)。改變你的模型,將文本文件放在服務器上並從那裏加載...

1b。運行本地網絡服務器:-)

2 ...這將成爲依賴於瀏覽器,

尤其

3

你不能,將它放在一個Web服務器(你正在使用的同一個域)上然後執行AJAX GET 。

var file = (function func1() { 
    var result; 

    $.ajax({ 
     type: "GET", 
     url: file, 
     async: false, 
     success: function(data){ 
      result = data; 
     } 
    }); 
    return result; 
})(); 
+0

不是真的。您無法使用JavaScript加載文件中的文本,但您可以將其用於處理JavaScript。看到我的答案。 – 2010-07-21 22:42:54

+0

是的,您可以使用多種後端解決方案,我在JavaScript的基礎上解決了問題,基於客戶端的解決方案, – Anders 2010-07-21 23:20:49

0

您可以實例化WebBrowser控件,使用C#將.txt文件內容加載到div或其他內容中,然後從那裏開始。

2

我猜你的問題可能是你試圖做某種形式的JS模板。在這種情況下,你可能想看看這樣的事情:http://github.com/andyet/icanhaz.js

您要訪問的JS在這樣短的是,你可以存儲文本:

<script id="my_snippet" type="text/html"> 
    Whatever random text here, format doesn't really matter, 
    you can use whatever unless you're trying to serve it as xml. 
</script> 

這是實際上在HTML 5中有效。然後你可以像這樣檢索JS中的內容:

$('#my_snippet')。html();

ICanHaz.js爲你抽象這一切,所以如果你是模板...我建議使用它。

0

允許網站訪問客戶端計算機上的c:\ path \ file.xxx是一個重大的安全漏洞。 JavaScript永遠不會有這個功能。