我希望通过电子邮件发送jQuery测验“jQuizzy”的结果。
这是将POST发送到名为send.php
的文件的代码 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错误日志,但是在设置它之后似乎没有错误的php端的东西。答案 0 :(得分:0)
data
参数应该是有效的url编码数据或对象散列。你传递的是一个看起来像JSON的字符串。这没有任何意义,但很难提出一些建议,因为你还没有真正说出你的问题是什么。
答案 1 :(得分:0)
尝试将数据作为对象发送。
data: {
ajax: '[' + collate.join(",") + ']'
},