簡體   English   中英

如何將本地磁盤上的文本文件讀入javascript中的變量

[英]How do I read a text file on my local disk into a variable in javascript

嗨,我試圖從我的本地機器讀取.json文件。 它不會在我使用的代碼中讀取它:

jQuery.getJSON('../json/test.json') 
    .done(function(data) {
        var test = data;
        alert("sucsess");
    })
    .fail(function(data){
    alert("failed");

});

我所做的一切都失敗了,我做錯了什么。 我沒有通過這個服務器。

使用文件API。 這是一個包含示例代碼和演示的指南:

檢查這個小提琴

<title>reading Text files</title> 
<body>
    <input type="file" id="files" name="files[]" multiple />
    <output id="list"></output>
    <script>
      function handleFileSelect(evt) {
        var files = evt.target.files; // FileList object

        // Loop through the FileList
        for (var i = 0, f; f = files[i]; i++) {

        var reader = new FileReader();

        // Closure to capture the file information.
        reader.onload = (function(theFile) {
            return function(e) {
                // Print the contents of the file
                var span = document.createElement('span');                    
                span.innerHTML = ['<p>',e.target.result,'</p>'].join('');
                document.getElementById('list').insertBefore(span, null);
            };
        })(f);

        // Read in the file
        //reader.readAsDataText(f,UTF-8);
        //reader.readAsDataURL(f);

        reader.readAsText(f);
        }
    }
    document.getElementById('files').addEventListener('change', handleFileSelect, false);
    </script>
</body>

抱歉,如果您從本地驅動器運行頁面(地址欄將具有表單文件:///您的頁面路徑),那么您可以從磁盤讀取文件,但是如果您從webserver運行腳本( http://。 .... )您無法從本地驅動器讀取文件。 它可以保護您免於竊取用戶驅動器中的信息。 您可能需要上傳文件才能閱讀

編輯:我必須把它拿回來。 新的瀏覽器將允許您根據用戶事件讀取文件。 如果用戶單擊文件輸入並打開文件,則可以讀取它

由於安全原因等原因,您無法通過JavaScript訪問本地計算機上的文件....

JavaScript和DOM為惡意作者提供了通過Web在客戶端計算機上運行腳本的潛力。 瀏覽器作者使用兩個限制包含此風險。 首先,腳本在沙箱中運行,在沙箱中,腳本只能執行與Web相關的操作,而不能執行創建文件等通用編程任務。

但我找到了這個網站,但從來沒有試過,也許可以幫助你: 用JavaScript讀取本地文件

編輯:如果你永遠不會在網絡服務器上運行你的代碼而只在你的本地系統上執行它(在瀏覽器中調用index.html,如:C:/Users/user/index.html你可以訪問它,但如果這個網站應該我認為,這將無法上線

如果你在本地(客戶端)系統而不是服務器上談論文件,那么用簡單的javascript就不可能了。 您無法訪問本地文件系統資源。

jQuery.getJSON調用是異步的,所以你只能在函數(數據){...}內看到你的測試變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM