我希望通过电子邮件发送jQuery测验"jQuizzy "的结果。
这是向名为send.php
的文件发送POST的代码 if (config.sendResultsURL !== null)
{
console.log("OH HAI");
var collate =[];
for (r=0;r<userAnswers.length;r++)
{
collate.push('{questionNumber:"'+parseInt(r+1)+'", UserAnswer:"'+userAnswers[r]+'"}');
}
$.ajax({
type: 'POST',
url: "send.php",
data: '[' + collate.join(",") + ']',
complete: function () {console.log("OH HAI");}
});
}
,这里是简单的PHP代码发送电子邮件。
<?php
$to = "example@example.com";
$subject = "jQuizzy!";
$jsonStr = $_POST["ajax"];
$json = json_decode($jsonStr);
$body = "$json";
mail($to, $subject, $body);
?>
编辑:对不起,问题是我的结果被张贴到send.php页面,因为电子邮件正在通过,但电子邮件是纯/空。
编辑2:我甚至没有想过检查php-error日志,我发现我的服务器没有任何设置,但在设置它们之后,似乎没有错误在php方面的事情。
data
参数应该是有效的url编码数据或对象哈希值。你传递的是一个看起来像JSON的字符串。这没有任何意义,但很难提出一些建议,因为你还没有真正说出你的问题是什么。
尝试将数据作为对象发送。
data: {
ajax: '[' + collate.join(",") + ']'
},