Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 27.07.2022, 16:13
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Сообщение от Olga27
Вообщем обозначить как-то глобальную переменную которая будет увеличиваться каждые несколько секунд на php.
После того, как скрипт php отработал, все пропадает. Нет больше у него никаких переменных, ни глобальных, ни локальных. Он не висит в памяти постоянно.
Ответить с цитированием
  #12 (permalink)  
Старый 27.07.2022, 18:20
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Все уже не надо. Решила инкремент делать на javascript, а на php отправлять только результат. Работает.
javascript:
<html>
  <head>
  <title></title>

  </head>
  <body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js"></script>

<div id="result">0</div>
<script type="text/javascript">
$(function(){
var interval = 3000;  
function doAjax(i) {

    $.ajax({
            type: 'POST',
            url: 'increment.php',
            data: "num="+i,
            dataType: 'json',
            success: function (response) {
               if(response.result=="success")
               {
                    	$('#result').html(response.num);  
               } 
            },
            complete: function (data) {
                 
                    
                    setTimeout(doAjax, interval,i + 1);
            }
    });
}
setTimeout(doAjax, interval,1);
});
</script>

    </script>
  </body>
</html>

PHP
<?php
$num = $_POST["num"];

echo json_encode(array(
            'result' 	=> 'success',
            'num' => $num
   ));
?>
Ответить с цитированием
  #13 (permalink)  
Старый 27.07.2022, 18:25
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Olga27, если это окончательный вид PHP скрипта, то он бесполезен чуть более, чем полностью.
Ответить с цитированием
  #14 (permalink)  
Старый 27.07.2022, 23:06
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Цитата:
если это окончательный вид PHP скрипта, то он бесполезен чуть более, чем полностью.
Какие ваши агрументы, что этот код бесполезен, другими словами как сделать его полезным? Альтернативный вариант будет?
Ответить с цитированием
  #15 (permalink)  
Старый 28.07.2022, 00:04
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Olga27,
Сообщение от Olga27
Какие ваши агрументы, что этот код бесполезен
Он ничего не делает, если серверную часть убрать, то вы только выиграете:
- не будет задержек при обновлении счетчика на странице, ведь запрос к серверу отправлять не нужно;
- серверу не придется заниматься бесполезными действиями такими как получить от клиента число и его же ему же вернуть.

Без сервера ваш код может выглядеть так:
<html>
<head>
    <title>Counter</title>
</head>
<body>
    <div id="result"></div>

    <script type="text/javascript">
        (function tick(counter) {
            document.getElementById('result').innerHTML = counter;

            setTimeout(tick, 3000, ++counter);
        })(0);
    </script>
</body>
</html>
Ответить с цитированием
  #16 (permalink)  
Старый 28.07.2022, 00:47
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Nexus,
Это не весь код на сервере json документ который открывается.
$ourData = file_get_contents("data.json");

$outcls=json_decode($ourData,true);

Потом, туда будут вноситься данные и документ будет перезаписываться.
Цитата:
Array
(
[response] => Array
(
[0] => Array
(
[title] =>
[text] =>


)
[1] => Array
(
[title] =>
[text] =>


)
)
....
Счетчик который увеличивается в JS это элемент массива response.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать печать стороннего HTML файла через js/jquery. Defrazo Общие вопросы Javascript 0 22.03.2017 19:55
Как в обработчик php через Ajax передать несколько значений? Urukhay Общие вопросы Javascript 2 30.08.2014 16:19
Как сделать так чтобы ajax возвращал результат? Rooner AJAX и COMET 7 28.06.2013 12:42
Как сделать onmouseover что бы закрывался через время? cmail Общие вопросы Javascript 7 13.03.2013 22:47
как сделать, якоря ссылок AJAX czp AJAX и COMET 15 24.11.2011 20:45