2010-12-01 4 views
1

Ich habe diese Postleitzahl innerhalb einer Schleife (während ich < 10) und ich versuche, jeden Beitrag für 5 Sekunden zu verzögern, sondern was tut, ist Verzögerung von 5 Sekunden und sendet alle 10 Beiträge auf einmalVersucht, einen jQuery-Beitrag zu verzögern

Gibt es eine Möglichkeit, jeden Post in jQuery oder Ajax innerhalb einer Schleife zu intervalieren oder zu verzögern?

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

Was ist der Sinn des Sendens der gleichen Anfrage 10 mal getrennt von 5 Sekunden? – tvanfosson

Antwort

1

so weit ich jQuerys Ajax-Aufruf erinnern eine beforeSend Funktion hat, die vielleicht Ihr Problem

adressierte
1

einfach eine zunehmende Verzögerung verwenden:

$(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); 
    } 
}); 

Wenn die erste POST von 5 verzögert werden sollte Sekunden, verwenden Sie 5000 * (i + 1) oder ändern Sie Ihre Schleife zu for(var i = 1; i <= 10; i++).

+0

Versuchte das und die Verzögerung funktioniert gut, aber ich möchte die Phoneval und SMSval jede Schleife zählen. – user520646

+0

var phoneval = "<% = (varmin.Fields.Item (" Telefon "). Value)%>" \t \t \t \t var smsval = "<% = checkinactive.Fields.Item (" Audio "). Value% > " – user520646

+0

und verwendet \t \t für (!! Varmin.atEnd(); varmin.moveNext()), die überhaupt nicht verzögert. – user520646