PHP邮件函数发送电子邮件,但AJAX函数出错
Posted
技术标签:
【中文标题】PHP邮件函数发送电子邮件,但AJAX函数出错【英文标题】:PHP mail function sends out the email, but the AJAX function errors out 【发布时间】: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 响应。
【参考方案1】:
代码:
success:function(res)
if(res=="successful")
alert("Email Sent");
应该是:
success:function(res)
if(res=="success")
alert("Email Sent");
这是因为您在 PHP 文件中 echo
ing 成功。
【讨论】:
对不起...这是一个错字。这是“成功”,但仍然收到错误警报。以上是关于PHP邮件函数发送电子邮件,但AJAX函数出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 mail() PHP 脚本的 jQuery AJAX 表单发送电子邮件,但来自 HTML 表单的 POST 数据未定义