Попытка отложить пост jQuery - PullRequest
1 голос
/ 01 декабря 2010

У меня есть этот почтовый индекс внутри цикла (в то время как я <10), и я пытаюсь задержать каждое сообщение на 5 секунд, но вместо этого происходит задержка 5 секунд и отправка всех 10 сообщений одновременно </p>

Есть ли способ сделать интервал или задержать каждое сообщение в цикле jQuery или Ajax?

    $(document).ready(function() {
                setTimeout(function(){
            $.post("Trigger.aspx", { phone: phoneval,
            sms: smsval }, function(data) {
                $('.result').html(data);
            });
            },5000);
            return false;
    });

Ответы [ 2 ]

1 голос
/ 01 декабря 2010

Просто используйте увеличивающуюся задержку:

$(document).ready(function() {
    for(var i = 0; i < 10; i++) {
        setTimeout(function(){
            $.post("Trigger.aspx", {
                phone: phoneval,
                sms: smsval
            }, function(data) {
                $('.result').html(data);
            });
        }, 5000 * i);
    }
});

Если первый POST должен быть отложен на 5 секунд, используйте 5000 * (i + 1) или измените ваш цикл на for(var i = 1; i <= 10; i++).

1 голос
/ 01 декабря 2010

Насколько я помню, ajax-вызов jquery имеет функцию beforeSend, которая может решить вашу проблему

...