2015-06-02 4 views
0

У меня есть некоторые проблемы, чтобы прочитать число из текстового файла с JavaScript.setInterval для чтения текстового файла

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 в своем браузере.

Я нахожу что-то странное, этот код работает в первый раз, когда я использовал его на Мидори. Не могли бы вы мне помочь, пожалуйста ?

Спасибо,

EDIT: Я попробовал:

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 = ''; 
 
}

Моя значение мигает на экране, но не изменится, даже если я изменить его.

ответ

0

Хорошо, я очищайте кэш Firefox и избегать использовать его и код работает нормально.

3

Первый параметр к setInterval должен быть функция и не вызов функции .

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

Если OP не использует readTextFile где-то еще, он мог бы просто анонимно поместить функцию в качестве первого параметра. – rottenoats

0

Если он извлекает данные из текстового файла на странице обновления, значит, ваш код работает нормально.

Теперь вам нужно изменить текст в текстовом файле, чтобы он получил новое значение из текстового файла.

Чтобы проверить содержимое каждый интервал необходимо очистить HTML вашего DIV как,

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

Неплохо, значение из текстового файла не обновляется на F5, а только когда я открываю (или обновляю) zoom.txt в своем браузере: - / – Milow

Смежные вопросы