点击一个名为"结果"的按钮,我想阅读并显示一个文本文件(存在于我的本地驱动器位置说: C:\ test.txt )使用java脚本函数并在HTML文本区域中显示test.txt文件内容。
我是java脚本的新手,有人可以建议用java脚本函数的代码来读取和显示.txt文件的内容吗?
谢谢和问候 DEB
答案 0 :(得分:6)
出于安全原因,对本地文件的Ajax请求将失败。
想象一个网站,可以像您要求的那样访问计算机上的文件,但不会让您知道,并将内容发送给黑客。你不会想要这样,浏览器制造商会照顾它来保护你的安全!
要阅读位于硬盘上的文件内容,您需要<input type="file">
和让用户自己选择文件。您无需上传它。你可以这样做:
<input type="file" onchange="onFileSelected(event)">
<textarea id="result"></textarea>
function onFileSelected(event) {
var selectedFile = event.target.files[0];
var reader = new FileReader();
var result = document.getElementById("result");
reader.onload = function(event) {
result.innerHTML = event.target.result;
};
reader.readAsText(selectedFile);
}
答案 1 :(得分:3)
使用$ .ajax()函数:http://api.jquery.com/jQuery.ajax/
$(function(){
$.ajax({
url: "pathToYourFile",
async: false, // asynchronous request? (synchronous requests are discouraged...)
cache: false, // with this, you can force the browser to not make cache of the retrieved data
dataType: "text", // jQuery will infer this, but you can set explicitly
success: function( data, textStatus, jqXHR ) {
var resourceContent = data; // can be a global variable too...
// process the content...
}
});
});
答案 2 :(得分:0)
正如您提到的HTML,我假设您想在浏览器中执行此操作;那么在浏览器中访问本地文件的唯一方法是使用File API,并且只能通过用户的操作来获取文件,例如在&lt; input type ='file'&gt;中选择文件。元素,或在页面中拖放文件。