我在jquery中有以下变量
var uemail="abc@domain.com,xyz@domain.com,gty@domain.com";
var subj="test message";
var text="<b>This is Email Body Text</b>";
我有一个名为“email.php”的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中有电子邮件地址的时间,并且每次将电子邮件,subj,文本传递给email.php并在页面上打印结果,每次间隔10秒间电子邮件.php称为。< / p>
abc@domain.com(ok)
xyz@domain.com(错误)
gty@domain.com(ok)
由于
答案 0 :(得分: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);
});
这样你就不用担心停止间隔了。
答案 1 :(得分:2)
我想你想在你的javascript中使用这样的一行:
setInterval(function() {$.ajax{url:'url of emails.php'};}, 10000);
这将每10000毫秒向php页面发出一个ajax请求。
答案 2 :(得分:1)
如果您不希望多个计时器并行运行,这是另一种方法。
var uemail="abc@domain.com,xyz@domain.com,gty@domain.com";
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);