2014-02-27 107 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!" 
     } 
    }); 
}