2010-03-02 173 views
1

從jQuery的調用PHP文件我有以下的jQuery中的變量在特定的時間間隔

var uemail="[email protected],[email protected],[email protected]"; 
var subj="test message"; 
var text="<b>This is Email Body Text</b>"; 

我有一個PHP文件名爲「email.php」發送電子郵件

<?php 

     $email =$_GET['email']; 
     $subject =$_GET['subj']; 
     $message = $_GET['text'];; 

    if(mail($email, $subject, $message, "From: $email")) 
    echo "1"; 
    else 
    echo "0"; 
?> 

我想要做的是

呼叫email.php我在變量uemail中有電子郵件地址的次數,每次將電子郵件,子郵件,文本傳遞給email.php並在10秒間隔內打印結果每次之間email.php c alled。

[email protected](OK)
[email protected](錯誤)
[email protected](OK)

感謝

+2

你的問題是什麼? – Natrium 2010-03-02 12:53:41

+0

@Natrium - 你對這個問題有什麼不瞭解? – user113716 2010-03-02 13:10:23

回答

1

如果您不希望多個定時器並行運行,則可以使用其他方法。

var uemail="[email protected],[email protected],[email protected]"; 

    uemail = uemail.split(','); 

    var interval; 
    var counter = 0; 
    var check = function() { 
          if(counter < uemail.length) { 
           // Send email post 
           counter++; 
          } else { 
           clearInterval(interval); 
          } 
       }; 

    interval = setInterval(check,10000); 
2

我想你想一個在你的javascript這樣的線: setInterval(function() {$.ajax{url:'url of emails.php'};}, 10000);

這將使每一10000毫秒的PHP頁面的ajax請求。

4
var n = 1; 
$.each(uemail.split(','), function() { 
    var data = {email: this.valueOf(), subj: subj, text: text}; 

    setTimeout(function() { 
     $.post('http://.../email.php', data, function(resp) { 
      alert(data.email + (resp ? 'ok' : 'error')); 
     }); 
    }, n++ * 10000); 
}); 

這樣你就不必在意停止間隔。