如何在本地磁盘上将文本文件读入javascript中的变量

Sag*_*ael 10 javascript jquery json

嗨,我试图从我的本地机器读取.json文件.它不会在我使用的代码中读取它:

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

});
Run Code Online (Sandbox Code Playgroud)

我所做的一切都失败了,我做错了什么.我没有通过这个服务器.

Jon*_*nan 9

使用文件API.这是一个包含示例代码和演示的指南:


IT *_*ppl 7

检查这个小提琴

<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>
Run Code Online (Sandbox Code Playgroud)


Tri*_*Nhu 5

很抱歉,如果您从本地驱动器运行该页面(地址栏将具有表单文件:///您的页面路径),那么您可以从磁盘读取文件,但是如果您从webserver运行脚本(http://. ....)您无法从本地驱动器读取文件.它可以保护您免于窃取用户驱动器中的信息.您可能需要上传文件才能阅读

编辑:我必须把它拿回来.新的浏览器将允许您根据用户事件读取文件.如果用户单击文件输入并打开文件,则可以读取它