【发布时间】:2011-12-24 12:07:16
【问题描述】:
我正在尝试以 10 秒的延迟发送电子邮件。我写了这段代码:
$(document).ready(function() {
for (i = 0; i < 20; i++) {
setTimeout("SendEmail(" + i + ")", 5000);
}
});
function SendEmail(id) {
$.get("mimesender.php?id=" + id, function(data) {
var toAppend = "<span> " + data + "</span>"
$("#sentTo").append(toAppend);
});
}
服务器端代码(php) 获取 id 并从数据库中选择具有指定 id 的电子邮件
$query="select email from clienti where id =".$id;
然后发送邮件,并将当前邮件发回
echo email;
但是,这里出了点问题。好像js函数等待5秒,然后一次显示所有20个电子邮件地址。
你能告诉我我做错了什么吗?任何“睡眠”解决方法将不胜感激:)
【问题讨论】:
-
只是因为你的 for 循环不会等待 5 秒。
-
所有
setTimeouts基本上是同时调用的。
标签: javascript jquery ajax settimeout