Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery$.post函数不能异步工作_Jquery_.post - Fatal编程技术网

jQuery$.post函数不能异步工作

jQuery$.post函数不能异步工作,jquery,.post,Jquery,.post,我在main.php上有一个简单的jquery脚本,它创建消息(请参阅第一个$.post),然后发送通知(请参阅第二个$.post): 它会触发一个如下所示的notify_email.php: // email function $mail = new myPHPMailer; $mail->isSMTP(); $mail->Host = '..........'; $mail->SMTPAuth = true; $mail->Username = '.........'

我在
main.php
上有一个简单的jquery脚本,它创建消息(请参阅第一个$.post),然后发送通知(请参阅第二个$.post):

它会触发一个如下所示的
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
上等待电子邮件函数完成发送电子邮件,即使我没有实际的回调?我以为它应该是异步的。

试试这个。它必须起作用

$.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
});

看到了吗?你在问为什么你的服务器脚本不是异步的?是的。我认为电子邮件功能应该在后台运行。相反,如果我想在创建新邮件时在
main.php
上重复脚本,它会被卡住并等待电子邮件功能完成。我看不出你在你的问题中“在
main.php
上重复脚本”的确切方式,你需要更好地解释你在做什么,预期会发生什么,那么会发生什么呢?请不要给出无法解释的答案。如果你认为OP做错了什么,写下什么和为什么。它没有改变。我希望这个
$.ajax
被触发并被遗忘。相反,我的脚本被卡住了,直到另一页上的电子邮件功能完成。
$.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
});