【问题标题】:PHP mail function sends out the email, but the AJAX function errors outPHP邮件函数发送电子邮件,但AJAX函数出错
【发布时间】:2017-01-05 23:13:00
【问题描述】:

我在 PHP 上使用“邮件”,它成功发送了电子邮件。 但是,我的 AJAX 的成功/错误函数出现错误。 我不断收到“电子邮件失败”的警报。 提前谢谢你。

PHP

<?php
    $emailTo = "test@test.com";
    $emailSubject = "Email Test";
    $emailBody = "Check Email";
    if(mail($emailTo, $emailSubject, $emailBody))
        echo "success";
    else
        echo "fail";
?>

AJAX

$.ajax({
    url:'email_data.php',
    type:'post',
    data:$('#postForm').serialize(),
    success:function(res)
    {
        if(res=="success")
            alert("Email Sent");
        else
            alert("Email Not Sent");
    },
    error:function()
    {
        alert("Email Failed");
    }
});

【问题讨论】:

  • 将您的error:function() 更改为error:function(xhr, textStatus, errorThrown): 并在错误函数中执行alert(xhr.responseText);
  • 我做了...但我得到一个空白。
  • 查看AJAX响应的内容,有什么吗?
  • 您向我们展示了您的 PHP 代码吗?因为如果是这样,您就不会从 PHP 中回显任何内容。
  • 我已经更新了我的代码...这是我的原始代码,但由于它不起作用,我取出了 echo 和 AJAX 响应。

标签: javascript php jquery ajax email


【解决方案1】:

代码:

success:function(res)
{
    if(res=="successful")
        alert("Email Sent");

应该是:

success:function(res)
{
    if(res=="success")
        alert("Email Sent");

这是因为您在 PHP 文件中 echoing 成功。

【讨论】:

  • 对不起...这是一个错字。这是“成功”,但仍然收到错误警报。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多