我正在尝试使用Ajax和PHP向自己发送电子邮件。以下似乎是发送电子邮件,但似乎没有从Javascript将变量传递给PHP。
的JavaScript
var aaa = $('#aaa').val();
var bbb = $('#bbb').val();
var data = 'A: ' + aaa + ' B: ' + bbb;
$.ajax({
type: "POST",
url: "sendMail.php",
data: data,
success: function(){
alert("Email Sent");
}
});
PHP代码:
<?php
$subject = $_POST['data'];
mail("test@gmail.com", $subject, "", "From: info@test.com") or die("Error!");
?>
有人可以建议如何解决这个问题吗?
答案 0 :(得分:2)
正如评论中指出的那样,js中的数据变量被格式化为错误的方式(它需要是一个对象!),您可以在定义数据后将其转换为正确的格式,作为数据:< / p>
data = { data: data };
这将使您无需调整PHP代码并填充数据&#39;使用字符串在$ _POST超全局中索引。
答案 1 :(得分:0)
$to="123@gmail.com"; $subject="Work Done by "; $subject .= $myusername; $headers = 'From: 456@gmail.com' . "\r\n" .'X-Mailer: PHP/' . phpversion(); $messages ="test" ; $messages .="test1" ; $ret = mail($to, $subject, $messages, $headers);