使用javascript将文本文件存储在变量中

时间:2017-01-30 03:53:29

标签: javascript

我正在尝试从文件中读取文本并将其存储为javascript中的变量。作为JS的新手,我不知道这会如此困难。

首先我用python启动一个http服务器

python -m http.server

http://localhost:8000运行。

然后我在HTML中包含以下脚本。我的计划是将文本存储在隐藏的<p>元素中,然后在脚本中访问它。因为脚本是异步运行的,所以当我获得元素的HTML时,它仍然是最初的东西。

<script>

    function readTextFile(file){
        var rawFile = new XMLHttpRequest();
        rawFile.open("GET", file, true);
        rawFile.onreadystatechange = function (){
            // Wait until file has loaded (state 4)
            if (rawFile.readyState == 4) {
                var text = rawFile.responseText;
                var e = document.getElementById("myFileText");
                e.innerHTML = text;
                console.log('inside');
            }
        }
        rawFile.send(null);
    };

    readTextFile('http://localhost:8000/static/live-slideshow/image_paths.txt');

    // The following line results in console output of the old internals
    var text = document.getElementById("imagePaths").innerHTML
    console.log(text)

    // Remaining script that uses the "text" variable...


</script>

我的问题是:

  1. 如何告诉脚本等待readTextFile函数运行&#34;继续之前
  2. 我这样做错了吗? (我只是想在本地托管这个东西 - 实际上在我的覆盆子PI上)
  3. 这是我可以使用Flask或类似框架解决的问题,但我想尽可能轻量级(最好不要使用jQuery - 但话说回来,仍然欢迎使用$&#39; s的一个很好的解决方案!)

0 个答案:

没有答案