Javascript.RU

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

Как сделать инкремент на стороннее сервера через setInteval и ajax?
Мне нужно отправить число сделать в php инкремент, вернуть значение отправить его повторно потом еще раз прибавить единицу в PHP и все это через setInterval? Как это сделать? Максимум мне удалось прибавить единицу, больше число не увеличивается
<html>
  <head>
  <title></title>
  <style>
    body
    {
      margin: 0;
    }
    canvas
    {
      width:100%;
      height:100%
    };
  </style>
  </head>
  <body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js"></script>
   
   
    <div id="result"></div>
    <script>
     
      var index = 0;
      function ajax_query(filename,index)
        {
        ind = index;
        
        $.ajax({
                    type: "POST",
                    url: 'test.php',
                    data: "flname="+filename+"&num="+ind,
                    dataType: "json",
                    
                    success: function(response)
                    {
                      
                       if(response.result=="success")
                       {
                       
                         index = response.num;
                         jQuery('#result').html(index);
                        
                       }
                         
                      
                   }
               });
              console.log(index); 
               
        }
      function main()
      {
       
        setInterval(ajax_query,1000,'ex.txt',index);
      }
      main();
      
      
     
    </script>
  </body>
</html>


Код php:
<?php


$num = $_POST["num"];
$flname = $_POST["flname"];

$num++;

 file_put_contents($flname,$num."\n",FILE_APPEND);
 
 
echo json_encode(array(
            'result' 	=> 'success',
            'num' => $num
   ));
?>
Ответить с цитированием
  #2 (permalink)  
Старый 27.07.2022, 15:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Olga27
и все это через setInterval?
В этом он тебе не поможет...

Я пока не совсем понял... Сколько раз ты хочешь увеличивать тот "счетчик"?
Ответить с цитированием
  #3 (permalink)  
Старый 27.07.2022, 15:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Olga27
Мне нужно отправить число сделать в php инкремент, вернуть значение отправить его повторно потом еще раз прибавить единицу в PHP
Т.е. некое число должно трижды побывать на сервере, каждый раз там увеличиваясь на единицу?

И в чем сакральный смысл этого действа?
Ответить с цитированием
  #4 (permalink)  
Старый 27.07.2022, 15:56
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Цитата:
Я пока не совсем понял... Сколько раз ты хочешь увеличивать тот "счетчик"?
Я хочу чтобы счетчик просто увеличивался и все. Неважно сколько раз.
Ответить с цитированием
  #5 (permalink)  
Старый 27.07.2022, 15:57
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Olga27
Я хочу чтобы счетчик просто увеличивался и все.
Это одна задача...

Но посылать, дождавшись ответа - это уже другая задача.
Ответить с цитированием
  #6 (permalink)  
Старый 27.07.2022, 15:58
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Цитата:
И в чем сакральный смысл этого действа?
Мне нужно обозначить переменную которая будет увеличиваться на сервере php. Мне все равно, пускай будет это сделано через Refresh: 5 секунд. Вообщем обозначить как-то глобальную переменную которая будет увеличиваться каждые несколько секунд на php.
Ответить с цитированием
  #7 (permalink)  
Старый 27.07.2022, 15:59
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,712

У вас меняется только index - параметр функции. По сути - локальная переменная
А глобальная, описанная в строке 23 никак не меняется.

<html>
  <head>
  <title></title>
  <style>
    body
    {
      margin: 0;
    }
    canvas
    {
      width:100%;
      height:100%
    };
  </style>
  </head>
  <body>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js"></script>
    
    
    <div id="result"></div>
    <script>
      
      var index = 0;
      function ajax_query(filename)
        {         
        $.ajax({
                    type: "POST",
                    url: 'test.php',
                    data: "flname="+filename+"&num="+index,
                    dataType: "json",
                     
                    success: function(response)
                    {
                       
                       if(response.result=="success")
                       {
                        
                         index = response.num;
                         jQuery('#result').html(index);
                         
                       }
                          
                       
                   }
               });
              console.log(index);
                
        }
      function main()
      {
        
        setInterval(ajax_query,1000,'ex.txt');
      }
      main();
       
       
      
    </script>
  </body>
</html>

Последний раз редактировалось voraa, 27.07.2022 в 16:02.
Ответить с цитированием
  #8 (permalink)  
Старый 27.07.2022, 16:01
Аспирант
Отправить личное сообщение для Olga27 Посмотреть профиль Найти все сообщения от Olga27
 
Регистрация: 10.06.2021
Сообщений: 49

Я не могу понять глобальную переменную можно обозначить в PHP чтобы через Refresh 5 секунд, через ajax или еще как-нибуть увеличивалось?
Ответить с цитированием
  #9 (permalink)  
Старый 27.07.2022, 16:07
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,712

PHP вообще нет дела до ваших переменных. Он получает какие то данные, и все. Он понятия не имеет откуда они взялись. И передает данные, и ему совершенно побоку куда вы их засуните, в глобальную или локальную переменную
Ответить с цитированием
  #10 (permalink)  
Старый 27.07.2022, 16:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Olga27
Мне нужно обозначить переменную которая будет увеличиваться на сервере php. Мне все равно, пускай будет это сделано через Refresh: 5 секунд.
И не важно успешно сервер то сделал или нет?
Не важно как долго шел ответ от сервера?

Если так - пойдет и setInterval()...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать печать стороннего HTML файла через js/jquery. Defrazo Общие вопросы Javascript 1 22.03.2017 23:50
Как в обработчик 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