如何在不使用<输入类型=“;文件“;id=“;fileToLoad”>

How do I read a text file located in the same directory as my index.html using XMLHttpRequest() without using <input type="file" id="fileToLoad">

本文关键字:文件 id gt fileToLoad 类型 输入 lt      更新时间:2024-05-28

我有我的index.html,在同一个目录中,我有一个文本文件,我放在那里,希望能够读取它。除了使用输入类型格式外,我尝试的一切都失败了。我不需要做文件选择。我知道文件是什么,在哪里。

这是我的功能:

    <script type='text/javascript'>
    document.getElementById("FunText").innerHTML = 
    "The text should show here:" + readTextFile('file:///E:/My_Html/list.txt');
    function readTextFile(file)
    {
      var allText = "";
      var rawFile = new XMLHttpRequest();
      rawFile.open("GET", file, true);
      rawFile.onreadystatechange = function()
           {
            if(rawFile.readyState == 4)
               {
                if(rawFile.status == 200 || rawFile.status == 0) // status = 0
                   {
                    allText = rawFile.responseText;
                    alert("I get this:" + allText);
                   }
                }
          }
          rawFile.send(null);
      }

变量allText总是返回为空。如果我把"file:///E:/My_Html/list.txt"在浏览器搜索框中,它显示了文件的内容。有人看到问题了吗?我尝试过rawFile.send(null)、rawFile.sedd(),在打开后立即在函数的末尾。没有任何效果。我搜索过Stackoverflow、W3和其他。我不知所措。"。感谢您的耐心和时间。

您可以将JQuery库添加到您的项目中,并使用$.get()函数:

http://api.jquery.com/jquery.get/

示例(因为该文件与index.html处于同一级别):

<script type='text/javascript'>
    function readTextFile(file) {
        $.get(file, function(data) {
            document.getElementById("FunText").innerHTML = "The text should show here: " + data;
        });
    }
    readTextFile("list.txt");
</script>