За последние 24 часа нас посетили 22412 программистов и 1007 роботов. Сейчас ищет 651 программист ...

отправка POST запроса с задержкой

Тема в разделе "JavaScript и AJAX", создана пользователем leha, 20 окт 2021.

  1. leha

    leha Новичок

    С нами с:
    18 апр 2020
    Сообщения:
    12
    Симпатии:
    0
    Надо отправить 5 запросов с периодичностью в 10 сек
    Код (Text):
    1.     $('#sub').click(function(){
    2.                     for(let i=0;i<5;i++){
    3.                        setTimeout(function () {
    4.                             $.post(
    5.                                 'post.php',
    6.                                 {'name': i},    
    7.                                 function(data) {
    8.                                     $('#message').html(data);
    9.                                 }
    10.                             )
    11.                         }, 10000);
    12.                     }
    13.                     return false;
    14.               });
    Задержка только перед первым запросом.
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Остальные тоже выдерживают 10 секунд. От момента "постановки в очередь".
    --- Добавлено ---
    Посмотрите: Планирование: setTimeout и setInterval (javascript.ru)
    Или просто увеличивайте время ожидания с каждым шагом цикла.
     
  3. leha

    leha Новичок

    С нами с:
    18 апр 2020
    Сообщения:
    12
    Симпатии:
    0
    Спасибо, так работает как надо

    Код (Text):
    1.  $('#sub').click(function(){
    2.                     for(let i=1;i<6;i++){
    3.                        setTimeout(function () {
    4.                             $.post(
    5.                                 'post.php',
    6.                                 {'name': i},  
    7.                                 function(data) {
    8.                                     $('#message').html(data);
    9.                                 }
    10.                             )
    11.                         }, 10000 * i);
    12.                     }
    13.                     return false;
    14.               });