我之前有类似的问题:例如:
{
sendMailToAdmin();
sendMailToUser();
redirect();
}
并且重定向将在发送给用户的邮件之前发生。sendMailToUser()
包含一个AJAX调用。我通过将(success:redirect())
放在sendMailtoUser()
的Ajax调用中而不是在上面的代码中的位置来解决了这个问题。
现在我有一个类似的问题,但是相同的解决方案不起作用:
function sendDeletionMailToMember()
{
var data = "userEmail=" + "<?php echo $_SESSION['user'];?>";
$.ajax({
dataType: 'json',
url: 'stcg-json-responses.php?fct=sendDeletionMailToMember',
data: data,
cache: false,
success: deleteMember()
});
};
电子邮件应包含数据库中的某些用户数据。发送邮件后,将调用success: deleteMember()
删除所有用户数据。执行顺序很重要,因为一旦执行了deleteMember()
,就无法再将数据库中的数据添加到邮件中。
无论如何发送邮件,都会删除用户,但是邮件中我需要从数据库提取到邮件中的数据丢失。似乎deleteMember()
执行得太快。我尝试过async:false
,但它不会改变任何东西
当您将其作为回调提供时,似乎正在立即调用deleteMember()
。
尝试success: deleteMember
,即不带括号。
或者:
success: function() { deleteMember(); }