使用javascript读取本地文本文件

时间:2014-02-27 12:54:03

标签: javascript jquery html5

我正在尝试通过存储在同一目录中的HTML页面textread.html中的javascript和jquery读取test.txt。但是我收到以下错误:

方法1 jQuery方法


jQuery错误: 请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点'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是否可取?

2 个答案:

答案 0 :(得分: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!"
      }
   });
}

答案 1 :(得分:0)

使用JQuery,您可以尝试使用ajax:

$.ajax({
   url : 'test.txt',
   success : function (data) {
      console.log(data);
   }
});