[英]progress bar in php & jquery
我有一个PHP进程发送X邮件每次发送邮件后,我在数据库上添加一行,告诉我发送邮件。
所以,我不想创建一个进度条告诉用户X上的X邮件被发送(Y =总计)
我有两个jquery函数:
function mail_send()
{
$('.loading').css('display','block');
$.ajax({
'url': '/an/url/',
'data': {
someParam: param
},
'beforeSend':function()
{
$('#loadingBg').append('<span id="count"></span>');
setTimeout(function () {
mail_updateProgress(id);
}, 500);
}
,
'success': function (data,textStatus)
{
(....)
}
});
}
function mail_updateProgress(id) {
$.ajax({
'url': '/an/url/',
'data': {
someParam: param
},
'success': function (data) {
var res = $.parseJSON(data);
$('#count').html(res.nbSended + '/' + res.total);
}
});
}
问题是我现在不能发送超过15个邮件,我不会创建XXX邮件地址进行测试,但updateProgress()函数只是成功一次,它发生在mail_send()的同一时间功能。
有错误吗?
谢谢
编辑:好的,所以setInterval是好的,但我有第二个问题,是否有一个$ .ajax的队列? 我登录3件事:第一:当进程在updateProgress函数上输入第二:当updateProgress ajax成功第三时:当mail_send()ajax成功时
日志的顺序是
fisrt(X次)第三次(1次)秒(X次)
所以,我的进度条永远不会进展,只需在发送功能结束时使0%=> 100%
任何想法在发送功能时处理进度功能? 是否可以委派?
您正在使用setTimeout如果您想要间隔检查使用: setInterval 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.