【发布时间】:2016-12-01 06:04:16
【问题描述】:
所以我试图将一个对象从一个 jQuery 函数发送到一个 PHP 脚本以通过 mail() 发送它们,但是我的电子邮件总是空的,所以我想我可能不太明白我应该怎么做让它正常工作
这里是jQuery函数
function sendForm() {
$surname = $('#surname').val();
$name = $('#name').val();
$email = $('#email').val();
$comment = $('#q4').val();
$to = 'asd@efg.de'
$subject = 'Contact Form'
$datastring = {$surname,$name,$email,$comment,$to,$subject}
$.ajax({
url: 'send.php',
type: 'post',
data: $datastring,
success: function() {
alert('email sent!');
}
});
return false;
}
这里是 send.php
<?php
$to = $_POST[$to];
$subject = $_POST[$subject];
$message = $_POST[$comment];
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
我错过了什么?感谢您的帮助!
edit:我检查了 $datastring,它具有我想要的所有值。保存为对象
【问题讨论】:
-
请检查 $to, $subject, $message 的值你要发送 $to 变量?
-
开发时,对值进行一些简单的调试很有用。例如,在 php 脚本中添加
var_dump($_POST)- 这将有助于查看您实际发送的内容。 (并且在你的ajax成功函数中,你可以使用console.log来显示返回值,或者使用你浏览器的网络检查工具)
标签: javascript php jquery ajax email