setInterval读取文本文件

时间:2015-06-02 08:50:08

标签: javascript jquery html

使用JavaScript从文本文件中读取数字时遇到了一些麻烦。

setInterval("readTextFile()", 500);

function readTextFile() {
    var rawFile = new XMLHttpRequest();
    rawFile.open("GET", "zoom.txt", false);
    rawFile.onreadystatechange = function() {
        if (rawFile.readyState === 4) {
            if (rawFile.status === 200 || rawFile.status == 0) {
                var allText = rawFile.responseText;
                document.getElementById('boldStuff').innerHTML = allText;
                writeln(allText);
            }
        }
    }
    rawFile.send(null);
}

目标是每隔zoom.txt将值读入500ms,但此代码不起作用。 文本文件中的值不会在F5上刷新,但仅限于我在浏览器中打开(或刷新)zoom.txt时。

我发现一些奇怪的东西,这个代码第一次在Midori上使用时就可以了。你能帮帮我吗?

谢谢,

编辑:  我试过了:

setInterval(readTextFile, 500);
setInterval(test, 500);
function readTextFile()
{
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", "zoom.txt", false);
  rawFile.onreadystatechange = function ()
  {
    if(rawFile.readyState === 4)
    {
      if(rawFile.status === 200 || rawFile.status == 0)
      {
        var allText = rawFile.responseText;
        document.getElementById('boldStuff').innerHTML = allText;
      }
    }
  }
  rawFile.send(null);
}
function test(){
  document.getElementById('boldStuff').innerHTML = '';
}

我的值在屏幕上闪烁,但即使我修改它也不会改变。

3 个答案:

答案 0 :(得分:3)

setInterval的第一个参数应该是函数,而不是函数调用

setInterval(readTextFile, 500); //No need of quotes

答案 1 :(得分:0)

如果从页面刷新文本文件中获取数据意味着您的代码工作正常。

现在,您需要更改文本文件中的文本,以便从文本文件中获取新值。

要检查每个间隔的内容,您需要清空div的html,

function readTextFile() {
    // empty the div first to get the new value from text file
    document.getElementById('boldStuff').innerHTML = '';
    ...

答案 2 :(得分:0)

好的,我清空Firefox的缓存并避免使用它,代码运行正常。