【问题标题】:Reading file dynamically with javascript使用javascript动态读取文件
【发布时间】:2014-04-10 07:58:53
【问题描述】:

我正在尝试将文件中的值发布到网站上的文本字段。这些值将每 5 秒更新一次。我可以使用 xmlHTTPrequest 读取值,但是,当我尝试使用 setInterval 再次运行该函数时,值不会改变。它检测文件是否不再存在,但是当我将其放回并更改值时,它们与以前相同。这是我的代码:

 setInterval(getrecent, 5000);


        function getrecent () {
        sourcestr = "../userdata/" + sessionStorage.getItem("DoB");
        var x = new XMLHttpRequest();
        x.open("GET", sourcestr + "/recentdata.txt", false);

        x.send();
        if (x.status == 404) {
            document.getElementById("babypic").src = "../../Notrunning.png";
        }
        else {
            var myTextfile = x.responseText;
           // alert(myTextfile);

            document.getElementById("babypic").src = sourcestr + "/picture.jpeg" + '?rand=' + Math.random();
            var split = myTextFile.split(" ");
            document.getElementById("pulse").value = split[0];
            document.getElementById("resp").value = split[1];

        }
     }

我发现了错误,但我不确定如何处理它。第 117 行的“未捕获的引用错误,myTextFile 未定义”,即“var split = myTextFile.split(”“);


已解决:在头部添加“meta http-equiv="cache-control" content="no-cache" " 以避免缓存和更正 myTextFile 的拼写。网站现在工作得很好。

【问题讨论】:

  • 可能是某种缓存
  • 你用的是什么浏览器?如果用浏览器调用 URL,值会改变吗?你能在浏览器的日志中看到 XMLHttpRequest 吗?
  • 使用 Chrome。如果我刷新页面,值会发生变化。但是,我检查了 javascript 控制台并收到以下错误:第 117 行的“未捕获的引用错误,myTextFile 未定义”,即“var split = myTextFile.split(”“);”尝试在 myTextFile = x.responseText 前面添加“var”,但我得到了同样的错误。

标签: javascript xmlhttprequest referenceerror


【解决方案1】:

您已将变量 myTextfile 写在两个不同的大小写中:myTextFilemyTextfile 不是相同的变量。

请更正大小写,并考虑使用可以指出此类错误的 IDE,它会让您的生活更轻松!

【讨论】:

  • 叹息...当然。我想它会是这样的,但我真的看不到它,即使我检查了 10 次拼写。谢谢!
  • 我知道你的感受!就像我说的,最好找一个合适的 IDE,这样可以节省你寻找此类错误的时间。
猜你喜欢
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-05
  • 1970-01-01
相关资源
最近更新 更多