2014-02-27 82 views
1

我想通过javascript和jquery读取存储在同一目录中的HTML页面textread.html中的test.txt。但我得到以下错误:使用javascript读取本地文本文件

方法1 jQuery的方法


jQuery的错误: 否“访问控制允许来源”标头出现在所请求的资源。因此不允许原产地'null'访问。


的jQuery: '

$.getJSON('test.txt', function(data) { 
    console.log(data); 
}); 

`


方法2 JavaScript方法


JavaScript的错误:只有HTTP支持跨源请求。


的javascript:

`

if (xmlhttp != null) { 
    xmlhttp.open("GET","test.txt",false); // the false makes this synchronous! 
    xmlhttp.send(); 
    var text = xmlhttp.responseText; 
} 

`


我也试着替代码

我不承载此应用程序,我将部署一世使用PhoneGap作为移动应用程序。

请为我提供一个在这些情况下阅读文件的解决方案。 作为一种替代解决方案,HTML5 FileReader是可取的吗?

回答

1

如果您正在使用HTML 5,我发现了一个非常好的教程:

Reading Files using HTML 5

HTML:

<div id="page-wrapper"> 

    <h1>Text File Reader</h1> 
    <div> 
     Select a text file: 
     <input type="file" id="fileInput"> 
    </div> 
    <pre id="fileDisplayArea"><pre> 

</div> 

的JavaScript:

window.onload = function() { 
    var fileInput = document.getElementById('fileInput'); 
    var fileDisplayArea = document.getElementById('fileDisplayArea'); 

    fileInput.addEventListener('change', function(e) { 
     var file = fileInput.files[0]; 
     var textType = /text.*/; 

     if (file.type.match(textType)) { 
     var reader = new FileReader(); 

     reader.onload = function(e) { 
      fileDisplayArea.innerText = reader.result; 
     } 

     reader.readAsText(file); 
     } else { 
     fileDisplayArea.innerText = "File not supported!" 
     } 
    }); 
}