我正在尝试转换中间件(PHP类型)页面,该页面批量发送电子邮件到jQuery / Ajax页面,一次发送一封电子邮件。这是由调用ajax函数调用的。我想同步重复ajax调用,直到json响应,例如data.status =“finished”,每次调用都会返回data.percentage,(完成百分比)逐步更新一个简单的进度条。除此之外,我想包括一个“停止”按钮来取消广播。调用页面不知道需要进行多少次调用。中间件将生成下一封电子邮件,并直接与SMTP主机通话,并将该电子邮件标记为已发送,计算出它的传输距离,以便它可以发回完成的百分比。
我已经看到了这方面的一些变化,但大多数解决方案似乎都知道如何循环调用ajax。
任何代码段都表示赞赏。这是我的代码没有任何循环或停止代码。
jQuery("#sendButton").click(function() {
var ezineid = jQuery("#ezineid").val() ;
var percentage = 0 ;
var status = "" ;
jQuery.ajax({ url: '/cms/emailsend.lasso',
type: 'POST',
dataType: 'json',
async: false,
data: {
ezineid: ezineid
},
success: function(data) {
// have the html to display now
percentage = data.percentage ;
status = data.status ;
// update the progress bar
// data.status = finished?
}
});
});
答案 0 :(得分:0)
var timeout = setTimeout(function () {
$.ajax({
url: "test.html",
context: document.body
}).done(function() {
clearTimeout(timeout)
});
}, 100);
你可以尝试这个,但如果你想听一个事件发生,你需要node.js和套接字。