我在main.php
上有一个简单的jquery脚本,该脚本创建消息(请参阅第一个$ .post),然后发送通知(请参阅第二个$ .post):
$.post('core/functions/user/message/message.create.php', { to_user: to_user, message: message }, function() {
$('.messages').load('account_page_msg.php?page_id=10');
});
$.post('core/functions/user/notify_email.php', { pushTitle: pushTitle, pushMessage: message });
它会触发一个notify_email.php
,如下所示:
// email function
$mail = new myPHPMailer;
$mail->isSMTP();
$mail->Host = '..........';
$mail->SMTPAuth = true;
$mail->Username = '.........';
$mail->Password = '.........';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->CharSet = 'UTF-8';
$mail->addAddress('jetprofile@yahoo.com', '');
$mail->setFrom('admin@ihusky.com', 'iHusky.com');
$mail->addReplyTo('jetprofile@yahoo.com', '');
$mail->isHTML(true);
$mail->Subject = 'Test email notifications';
$body = 'Email notifications';
$mail->MsgHTML($body);
$mail->send();
即使我没有实际的回叫,为什么main.php
上的脚本仍在等待电子邮件功能完成发送电子邮件?我以为应该是异步的。
答案 0 :(得分:1)
尝试一下。它应该可以工作
$.ajax({
type: 'POST',
url: 'core/functions/user/notify_email.php',
data: { user_id: to_user, pushTitle: pushTitle, pushMessage: message },
success: function(response){
alert(response);
},
async:true
});