|
|
|
| рнр скрипт в процессе своей работы не выводит информацию в браузер (нет в этом нужды), но записывает количество проделанных итераций в текстовый файл n.txt
Как вывести информацию из этого файла в специально созданную контрольную html страницу, существующую независимо от упомянутого скрипта? Что бы раз в 2-3 секунды на мониторе появлялось это число?
(не столбец чисел, а одно число).
=========
Желательно обойтись без рнр. Лучше всего был бы JS на клиентской машине. | |
|
|
|
|
|
|
|
для: Владимир55
(29.10.2009 в 13:01)
| | попробуйте точно также через $get() как в самом первом примере | |
|
|
|
|
|
|
|
для: AlexSol
(29.10.2009 в 13:47)
| | Здесь немного другое, и ajax здесь уже не к месту. Здесь нужен JS скрипт, который с периодом в 2 секунды САМ будет считывать текстовый файл и отдавать информацию браузеру. | |
|
|
|
|
|
|
|
для: Владимир55
(29.10.2009 в 14:08)
| | к месту, к месту.
$.get("test.txt", function(data){
alert("Data Loaded: " + data);
}); | |
|
|
|
|
|
|
|
для: AlexSol
(29.10.2009 в 14:30)
| | Правильно. А аякс можно вызывать с помощью setInterval() | |
|
|
|
|
|
|
|
для: coloboc66
(29.10.2009 в 14:43)
| |
<body>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("test.txt", function(data)
{
alert("Data Loaded: " + data);
});
}
</script>
|
Хотя файл test.txt существует и в нем есть запись, на экран ничего не выводится.
Кстати, в этом случае требуется ли кодировка UTF-8 ?
(я попробовал и с UTF-8, и с ANSI). | |
|
|
|
|
|
|
|
для: Владимир55
(29.10.2009 в 18:44)
| | вызвать функцию не забыли? | |
|
|
|
|
|
|
|
для: AlexSol
(29.10.2009 в 19:32)
| | Тот код, что написан - это всё, что есть на странце. Надо ещё что-то?
Мне очень трудно в этом разобраться. | |
|
|
|
|
|
|
|
для: Владимир55
(29.10.2009 в 21:21)
| | ну да. функция есть а ее вызова нету.
можно так
<body>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("test.txt", function(data)
{
alert("Data Loaded: " + data);
});
}
$(document).ready(function(){
to_ajax()
});
</script>
$(document).ready() равносильно body.onLoad() | |
|
|
|
|
|
|
|
для: AlexSol
(29.10.2009 в 21:56)
| | Так текстовый файл прочитать удалось. При этом в результат виден в маленьком окошке и обновляется после сброса и ручного обновления страницы.
И это уже неплохо.
Но хотелось бы чуть другого: чтобы эта информация выводилась автоматически с периодом в пару секунд.
Как этого достичь? | |
|
|
|
|
|
|
|
для: Владимир55
(29.10.2009 в 22:08)
| | <body>
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("test.txt", function(data)
{
$('#res').html("Data Loaded: " + data);
setTimeOut(to_ajax, 10000)
});
}
$(document).ready(function(){
to_ajax()
});
</script> | |
|
|
|
|
|
|
|
для: AlexSol
(29.10.2009 в 23:23)
| | Числа выводятся нормально. Если текстовой файл сделать в уникоде, то даже кириллица правильно выводится.
В общем, всё бы хорошо, да одно нехорошо: периодического обновления информации в браузере не происходит.
Как я понимаю, здесь заложен период обновления в 10 секунд. Вручную менял содержимое текстового файла и ждал минуту - информация не обновляется.
Пробовал ИЕ и ФФ.
===============
На странице есть сообщение об ошибке кода:
Сведения об ошибке на веб-странице
Сообщение: Предполагается наличие объекта
Строка: 17
Символ: 1
Код: 0
URI-код: http://sin/31.htm
|
Строка 17 содержит запись:
setTimeOut(to_ajax, 10000)
|
| |
|
|
|
|
|
|
|
для: Владимир55
(29.10.2009 в 23:58)
| | var t=setTimeout("to_ajax()",10000); | |
|
|
|
|
|
|
|
для: AlexSol
(30.10.2009 в 07:25)
| | Теперь все работает просто замечательно!
Я очень давно мечтал о таком сервисе. Спасибо!
Однако заметил, что это код весьма чувствителен к написанию. Например, он перестает работать, если его переписать вот так:
<body>
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("test.txt", function(data)
{
$('#res').html("Data Loaded: " + data);
var t=setTimeout("to_ajax()",10000);
});
}
$(document).ready(function()
{
to_ajax()
});
</script>
|
В чем тут секрет? | |
|
|
|
|
|
|
|
для: Владимир55
(30.10.2009 в 11:51)
| | все коды чувствительны к написанию поскольку есть своя структура и лексика языка.
вы скобки переврали. не закрыли функцию to_ajax перед вызовом события $().ready() | |
|
|
|
|
|
|
|
для: AlexSol
(30.10.2009 в 12:18)
| | В чем ошибка со скобками, я не понял и не нашел её.
Вот так работает:
<body>
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("test.txt", function(data)
{
$('#res').html("Data Loaded: " + data);
var t=setTimeout("to_ajax()",10000);
});
}
$(document).ready(function(){
to_ajax()
});
</script>
|
Здесь тоже что-то неверно? | |
|
|
|
|
|
|
|
для: Владимир55
(30.10.2009 в 12:40)
| | тут верно.
в предыдущем у вас $.get() закрыт только в последней строке. там сначало надо фигурную скобку закрыть от от второго параметра -- function(){} , что у вас есть, а потом закрыть простой скобкой сам get | |
|
|
|
|
|
|
|
для: AlexSol
(30.10.2009 в 13:02)
| | Спасибо ещё раз! | |
|
|
|