我需要帮助发送jQuizzy结果通过电子邮件


I need help sending jQuizzy results Via email

我希望通过电子邮件发送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(",") + ']'
},