我有一个发送 X 邮件的 PHP 进程 每次发送邮件后,我在数据库中添加一行以告知已发送邮件。
所以,我不想创建一个进度条来告诉用户 X 邮件是在 Y 上发送的( Y = 总数)
我有两个这样的 jquery 函数:
function mail_send()
{
var refreshIntervalId;
$('.loading').css('display','block');
$.ajax({
'url': '/an/url/',
'data': {
someParam: param
},
'beforeSend':function()
{
$('#loadingBg').append('<span id="count"></span>');
refreshIntervalId =setInterval(function () {
mail_updateProgress(id);
}, 500);
}
,
'success': function (data,textStatus)
{
(....)
clearInterval(refreshIntervalId);
javascript: console.log(' send finish !!!');
}
});
}
function mail_updateProgress(id) {
javascript: console.log('updatePG');
$.ajax({
'url': '/an/url/',
'data': {
someParam: param
},
'success': function (data) {
var res = $.parseJSON(data);
javascript: console.log(' => data received ' + res.nbSended);
$('#count').html(res.nbSended + '/' + res.total);
}
});
}
$.ajax 有队列吗?我正在登录 3 件事:第一:当进程进入 updateProgress 函数时第二:当 updateProgress ajax 成功时第三:当 mail_send() ajax 成功时
日志的顺序是:
- updatePG => 100 次(我已经在我的 php 代码中进行了睡眠测试)
- 发送完成!!!=> 1次
- => 收到数据 11 => X 次(我发送了 11 封邮件)
所以对我来说,它告诉我有一个 ajax 调用队列。但是我怎样才能执行我的进度条呢?
编辑: 这可能是一个 php 配置问题,
有人可以告诉我如何允许来自同一进程的多连接?