Задать вопрос
@amdma

Как сделать отправку ajax каждые n секунд?

Как сделать отправку ajax каждые n секунд?
Я не понимаю, нашёл в интеренете кучу способов ничего не работает
Вот что у меня сейчас:
$(document).ready(function(){
		$( "#send" ).submit(function( event ) {
            console.log("send")
            event.preventDefault();
            while(true){
                $.ajax({
                    type: $(this).attr('method'),
                    url: "send.php",
                    data: new FormData(this),
                    contentType: false,
                    cache: false,
                    processData: false,
                    success: function(result){
                        if(result == 2){
                            console.log("Одобрено")
                        }
                    }
                });
            }
		});
	});
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
function sendSomething() {
  // (отправляем запрос)

  // заряжаем паузу до следующей отправки
  setTimeout(sendSomething, 5000); // через 5 секунд повторить
}

sendSomething() // поехали!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
$(function() {
	
	$( "#send" ).submit(async function(e) {
		
			console.log("send")
			e.preventDefault();
			
			while (true) {
				
				var response = await $.ajax({
					type: $(this).attr('method'),
					url: "send.php",
					data: new FormData(this),
					contentType: false,
					cache: false,
					processData: false
				});
				
				conole.log('Ответ сервера:', response);
				
				// Делаем задержку перед повторением цикла в 1000 миллисекунд:
				
				await $.Deferred(function(d) { setTimeout(d.resolve, 1000); });
				
			}
			
	});
	
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы