вопрос около javascript и cgi

Elina74

Есть у меня некий скрипт mainprog2.pl, он чего-то ждет. Пока он ждет, он делает следующее:
получает текущее значение счетчика из параметров:

$tick = $q->param('tick');
if(!defined $tick){$tick = 0}

увеличивает счетчик

$tick ++;

и создает html, который запускает тот же самый скрипт mainprog2.pl через некоторое небольшое время:

print "Content-type: text/html\n";
print "Cache-Control: no-store, no-cache, must-revalidate\n\n";

print qq(<body onload="setTimeout(document.forms[0].submit1000)">);
print "please, wait<br>";

print "time=", $tick; #!

print qq(<form name="form1" action="mainprog2.pl" method="post">
<input type="hidden" name="dontfork" value="true">
<input type="hidden" name="tick" value="$tick">
</form>
);

Беда в том, что скрипт работает и через некоторое время выдает результат, но $tick как будто и не менялся никогда. И выводится он всегда и все время равным единице.
Как мне сделать так, чтобы во время работы скрипта видеть какой-то обновляющийся счетчик? Можно не счетчик, можно текущее время.
Тут какая-то беда с кэшированием?

Elina74

А если сделать так, чтобы ожидание длилось подольше, в некоторый момент обновление начинает происходить настолько быстро, насколько может браузер, но никак не с интервалом в 1 секунду.
При этом увеличивается счетчик с единицы, и обновляется не каждый раз, а через десяток или около того, не на единицу, а сразу на то же количество.
Скрипт исполнялся где-то минут семь, а число, которое появилось в самом конце 2730, что явно не равно 7*60, что можно было ожидать.
success!
result=
other sum=4.99999999067109e+17
time=2730

SCIF32

может добавить

Last-Modified: <текущая дата, ГМТ> GMT
Expires: 0

в заголовок?
чтоб наверняка кеширование убить

Bibi

совсем-совсем наверняка кэширование можно убить с помощью mainprog.pl?rand=$random
Оставить комментарий
Имя или ник:
Комментарий: