使用javascript在点击按钮上阅读并显示文本文件内容

时间:2014-05-18 15:43:55

标签: javascript jquery javascript-events onclick buttonclick

点击一个名为"结果"的按钮,我想阅读并显示一个文本文件(存在于我的本地驱动器位置说: C:\ test.txt )使用java脚本函数并在HTML文本区域中显示test.txt文件内容。

我是java脚本的新手,有人可以建议用java脚本函数的代码来读取和显示.txt文件的内容吗?

谢谢和问候 DEB

3 个答案:

答案 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);
}

JS Fiddle

答案 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;中选择文件。元素,或在页面中拖放文件。