我想用PHP和AJAX做一个联系表单。电子邮件发送和所有,但它总是说"Failed to send!"
即使在控制台它说"true"
这将导致在HTML "Message Sent!"
如何通过AJAX从PHP文件获取返回数据?
所以我在我的PHP脚本的末尾写道的:
if (!$mail->send()) {
echo $mail->ErrorInfo;
} else {
echo "true";
}
,并应意味着通过AJAX我得到的输出数据应该是其中的一个,对吗?
ajax.SetText("Sending...");
$.post("sendmail.php", {
name: userName, email: userEmail, comments: userComments, business: currentBusiness, website: currentWebsite
}, function(data) {
if(data == "true") {
ajax.SetText("Sent!");
console.log(data);
$.get("sent.html", function(sentData){
$("#content").html(sentData);
});
} else {
ajax.SetText("Send mail");
console.log(data);
$.get("unsent.html", function(sentData){
$("#content").html(sentData);
});
}
ajax.isSubmiting = false;
});
这是jQuery的^
所以基本上,如果电子邮件发送我想要的回报是“真实的”这样的话我可以把网页上像“消息发送此时,相应的信息! “但在这种情况下,无论发送失败还是失败,它都不会返回true。我也尝试过,在PHP文件中,print_r("true")
和die("true")
,但它仍然无法正常工作。有谁知道为什么?任何事情将不胜感激,谢谢。
我认为这样做也会发生同样的事情。并在控制台它说的是真实的,所以我很迷失 –
控制台说的是真的?你做了'console.log(encodeURI(data));'?这是什么产出? –
我发现问题了!所以在脚本(即时通讯使用PHPMailer),我有这行代码“$ mail-> SMTPDebug = 2;”一旦我将它移除,它就完美无缺地工作。谢谢! –