|
|
|
| В файле n_text_vse.txt записано число 1000, а в файле n_text_prin.txt записано число 75077
Исполянется код:
<?php
echo <<<TEXT
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("n_text_vse.txt", function(data)
{
$('#res').html("223 " + data);
var t=setTimeout("to_ajax()",10000);
});
}
$(document).ready(function(){
to_ajax()
});
</script>
<br>=5=<br>
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("n_text_prin.txt", function(data)
{
$('#res').html("244 " + data);
var t=setTimeout("to_ajax()",10000);
});
}
$(document).ready(function(){
to_ajax()
});
</script>
TEXT;
|
На дисплее получаю:
Почему же так? | |
|
|
|
|
|
|
|
для: Владимир55
(01.11.2009 в 22:19)
| | Функцию to_ajax() вы определили дважды.
Соответственно, первый вариант этой функции вторым вариантом уничтожен.
Доступа к файлу n_text_vse.txt у вас никогда не будет.
Что до вывода результата из второго файла, то всё в точности как вы и запланировали вашим кодом.
А что вы хотели получить на дисплее? | |
|
|
|
|
|
|
|
для: АЯ
(01.11.2009 в 23:50)
| | Я хотел бы получить:
1000
75077
Как конретно этого достичь? Вот на данном примере? | |
|
|
|
|
|
|
|
для: Владимир55
(01.11.2009 в 23:59)
| | вторую функцию переименовать | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 07:32)
| | А эту операцию
<script src="jquery.min.js"></script>
| повторять надо? | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 10:11)
| | нет. как и $(document)
будет
$(document).ready(function(){ ajax_f1();ajax_f2();}) | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 10:14)
| | Что-то не получилось... Он такой капризный, этот яакс...
Можете Вы для примера вставить полные изменения в код, что бы я это понял на все будущие случаи жизни:
<?php
echo <<<TEXT
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("n_text_vse.txt", function(data)
{
$('#res').html("223 " + data);
var t=setTimeout("to_ajax()",10000);
});
}
$(document).ready(function(){
to_ajax()
});
</script>
<br>=5=<br>
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("n_text_prin.txt", function(data)
{
$('#res').html("244 " + data);
var t=setTimeout("to_ajax()",10000);
});
}
$(document).ready(function(){
to_ajax()
});
</script>
TEXT;
|
| |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 10:31)
| |
<?php
echo <<<TEXT
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax(arg)
{
$.get(arg, function(data)
{
$('#res').append("> " + data+"<br>");
var t=setTimeout(function() {to_ajax(arg)}",10000);
});
}
$(document).ready(function(){
to_ajax('111.txt')
to_ajax('222.txt')
});
</script>
<br>=5=<br>
</script>
TEXT;
|
| |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 10:41)
| | Не работает. Вот что на экране:
| |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 10:52)
| | Перебрал сто вариантов - ничего не работает! | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 12:39)
| |
<script>
function to_ajax(arg)
{
$.get(arg, function(data)
{
$('#res').append("> " + data+"<br>");
var t=setTimeout(function() {to_ajax(arg)},10000);
});
}
$(document).ready(function(){
to_ajax('111.txt')
to_ajax('222.txt')
});
</script>
|
| |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 12:46)
| | Полный код с учетом этой корректировки получился такой:
<?php
echo <<<TEXT
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax(arg)
{
$.get(arg, function(data)
{
$('#res').append("> " + data+"<br>");
var t=setTimeout(function() {to_ajax(arg)},10000);
});
}
$(document).ready(function(){
to_ajax('111.txt')
to_ajax('222.txt')
});
</script>
<br>=5=<br>
</script>
TEXT;
|
В первом файле число 111, во втором число 222.
Строки плодятся каждые 10 секунд:
... > 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
> 222
> 111
=5=
|
| |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 12:52)
| | >Строки плодятся каждые 10 секунд:
там так и задано. | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 13:04)
| | Когда я делал вывод содержимого только одного файла, то записи шли одна сменяя другую. То есть, на экране всегда была только одна запись.
То же самое нужно и при выводе из двух файлов: две записи одна под другой, обновляющиеся каждые 10 секунд.
Это возможно? | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 13:10)
| |
<script>
function to_ajax(arg)
{
$.get(arg+".txt", function(data)
{
$('#res'+arg).html("> " + data);
var t=setTimeout(function() {to_ajax(arg)},10000);
});
}
$(document).ready(function(){
to_ajax('111')
to_ajax('222')
});
</script>
<span id="res111">@1</span><span id="res222">@2</span>
|
| |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 13:17)
| | Почти нормально:
Только три точки сверху лезут. Их можно убрать? | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 13:31)
| | посмотрите ваш код и уберите | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 13:36)
| | Вообще-то я и их и сам убрал, но подумал, что, может быть, троеточие имеет какое-то принциапиальное значение, и потому решил Вас об этом спросить.
Теперь все работает как надо, и я Вам за это благодарен!
Реально мне требуется не два вывода, а больше, но созданный Вами код легко допускает наращивание, и я это уже попробовал.
Так что всё хорошо.
Но одно обстоятельство не дает покоя: почему изменение имени функции для второго вывода не решило проблему? Просто для понимания сути дела. | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 13:43)
| | хз. вы не привели код | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 13:49)
| | Я имею в виду Вашу рекомендацию от 02.11.2009 в 07:32
При ее осуществлении получилось вот что:
<?php
echo <<<TEXT
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax()
{
$.get("111.txt", function(data)
{
$('#res').html("1- " + data);
var t=setTimeout("to_ajax()",10000);
});
}
$(document).ready(function(){
to_ajax()
});
</script>
<br>=5=<br>
<div id="res"> ... </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax2()
{
$.get("222.txt", function(data2)
{
$('#res').html("2- " + data2);
var t=setTimeout("to_ajax2()",10000);
});
}
$(document).ready(function(){
to_ajax2()
});
</script>
TEXT;
|
И выводится
То есть, работает только первый вывод.
Почему второй отказал? | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 13:57)
| | 2 раза подключается скрипт
2 раза событие $(document).ready({}) их надо объединить, я писал выше.
$('#res').html -- оба раза данные пишутся в один и тот же блок, затирая друг друга | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 14:10)
| | Существо дела ничаниает проступать... Спасибо!
А как совместно с Вашим универсальным кодом использовать пару кодов запуска внешних скриптов? Проблема схожа - опять конфликты с функцией ajax! Здесь и вывод перестал работать, и запуск не работает.
Как оживить такой код:
<?php
echo <<<TEXT
<div id="res"> </div>
<script src="jquery.min.js"></script>
<script>
function to_ajax(arg)
{
$.get(arg+".txt", function(data)
{
$('#res'+arg).html("> " + data);
var t=setTimeout(function() {to_ajax(arg)},10000);
});
}
$(document).ready(function(){
to_ajax('111')
to_ajax('222')
to_ajax('333')
});
</script>
<span id="res111">@1</span><span id="res222">@2</span><span id="res333">@3</span>
<br>
<br>
<script>
function to_ajax()
{
$.get("31.php");
}
</script>
<input type="button" onclick="to_ajax()" value="Пуск-1" />
<br>
<br>
<script>
function to_ajax()
{
$.get("32.php");
}
</script>
<input type="button" onclick="to_ajax()" value="Пуск-2" />
TEXT;
|
| |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 14:33)
| | у вас в php все переменные имеют имена $VAR, массивы $ARRAY и функции FUNC(){} ? | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 14:46)
| | Нет, в php я стараюсь обеспечить разнообразие и для этого даже веду реестр имен переменных при создании каждого скрипта. Нюанс в том, что php меня понимает, а аякс отказывается работать, как только я изменю хоть что-нибудь. Вот по этому приходится спрашивать у Вас и учиться у Вас практическому применнияю.
Может быть Вы подскажете, как оживить этот код? | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 14:52)
| | вторая часть
<script>
function starter(file)
{
$.get(file+".php");
}
</script>
<input type="button" onclick="starter(1)" value="Пуск-1" />
<input type="button" onclick="starter(2)" value="Пуск-2" /> | |
|
|
|
|
|
|
|
для: AlexSol
(02.11.2009 в 14:55)
| | А куда же подевались имена файлов, которые следует вызвать (31.php, 32.php)? Или имелось в виду, что запускаются файл с именами 1 и 2? | |
|
|
|
|
|
|
|
для: Владимир55
(02.11.2009 в 15:01)
| | Все работает!
Замечательный урок!
Спасибо! | |
|
|
|