2011-12-03 7 views
1

私はjQueryクイズ「jQuizzy」の結果をメールで送信したいと考えています。 私はjQuizzyの結果を電子メールで送信するのに助けが必要です

この

  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");} 
       }); 
     } 

send.phpという名前のファイルにPOSTを送信しているコードで、ここに電子メールを送信するための簡単なPHPコードです。

<?php 
$to = "[email protected]"; 
$subject = "jQuizzy!"; 

$jsonStr = $_POST["ajax"]; 
$json = json_decode($jsonStr); 

$body = "$json"; 

mail($to, $subject, $body); 
?> 

編集:申し訳ありませんが、問題は、電子メールが通過しているので、私の結果はsend.phpページに掲載されていることですが、メールは空/ plainです。

EDIT 2:自分のサーバが設定されていないことがわかったPHPエラーログをチェックすることについても考えていませんでしたが、設定した後はPHP側でエラーがないようです物事の

+2

正確な問題とエラーは何ですか? – Treffynnon

+1

私はあなたがjquery "jquizzy"と呼んでいると思っていたので、これは完全に投票するつもりでした。残念ながら、それは本当に何らかのクイズのフレームワークの名前です。 – rdlowrey

+0

私はクイズを終えると、結果をsend.phpに送信し、そこから結果を電子メールで送信しようとしています。 電子メールが送信されているため結果が通知されていますが、空白の電子メールです。 –

答えて

0

dataパラメータは、有効なURLエンコードデータまたはオブジェクトハッシュのいずれかとします。あなたが渡すのは、それがJSONのように見える文字列です。それは意味をなさないが、実際にあなたの問題が何であるかを言わなかったので、何かを提案するのは難しい。

0

データをオブジェクトとして送信してみます。

data: { 
    ajax: '[' + collate.join(",") + ']' 
}, 
+0

これを試しましたが、まだ空メールが届いています。 –

+0

PHPファイルで、$ body = print_r($ _ POST ["ajax"]、true) 'を試して、あなたに何を得るか教えてください。 –

+0

これはメールで送信されたものです: [{questionNumber:\ "1 \"、UserAnswer:\ "2 \"}、{questionNumber:\ "2 \"、UserAnswer:\ "2 \"}、{ 「質問番号:4」、「UserAnswer:1」、「質問番号:5」、UserAnswer:\「2」、 "}] –

関連する問題