Показать сообщение отдельно
  #1 (permalink)  
Старый 23.08.2011, 21:12
Новичок на форуме
Отправить личное сообщение для gv0zd Посмотреть профиль Найти все сообщения от gv0zd
 
Регистрация: 01.07.2010
Сообщений: 2

Рекурсивный вызов функции с задержкой
Есть своя CMS, есть рассылка почты клиентам.
Ранее рассылка была реализована пачками по 50 адресов, новая пачка вызвалась за счет

<meta http-equiv="Refresh Content="3; URL=./dir/">


Захотел это сделать ассинхронно. прикрутить красивый прогрессбар
Важный момент, между обращения к скрипту должна быть пауза в 3 сек. Чтоб не перегружать почтовик

$("document").ready(function() {
    function sendMails () {
		$action = $('#action').val();
		
        $.ajax({ 
            type: "POST", 
            dataType: "json", 
            cache: false, 
            url: '?action='+$action+'&subaction=ajax', 
            timeout: 25000, 
            error: function() { 
	            alert ('Ошибка');
            }, 
            success: function(data) {
		    	if (data.result == 'ok' && $(data.data).size()) {
			        $('#sent').text(data.data.sent);
				$('#remain').text(data.data.remain);
				$('#percents').text(data.data.percents);
				$('#errors').text(data.data.errors);
                                setTimeout(sendMails(),30000);					
    		    }
				else if (data.result == 'finished') {
					alert ('Все сделано');
				}
            } 
        }); 
	}
	sendMails();
});

Работает рекурсивно, но задержек между ответом сервера и новым обращением нет.

Уже повсякому прокрутил это скрипт.
В Javascript не силен. Перегуглил все подряд.

Так как не полуается, уже склоняюсь к тому чтоб паузу сделать на стороне php. Но хотелось бы все-таки в javascript
Ответить с цитированием