私はPHPとAJAXで連絡フォームを作ろうとしています。電子メールが送信され、すべてが、それは常にそれがAJAX経由でPHPファイルからデータを返す方法は?
"Message Sent!"
は、だから私は私のPHPスクリプトの最後でこれを書いたHTMLをもたらすべきである"true"
言っても、コンソールに"Failed to send!"
を言う:
if (!$mail->send()) {
echo $mail->ErrorInfo;
} else {
echo "true";
}
、それはすべきAJAX経由で取得した出力データが正しいものであることを意味していますか?
ajax.SetText("Sending...");
$.post("sendmail.php", {
name: userName, email: userEmail, comments: userComments, business: currentBusiness, website: currentWebsite
}, function(data) {
if(data == "true") {
ajax.SetText("Sent!");
console.log(data);
$.get("sent.html", function(sentData){
$("#content").html(sentData);
});
} else {
ajax.SetText("Send mail");
console.log(data);
$.get("unsent.html", function(sentData){
$("#content").html(sentData);
});
}
ajax.isSubmiting = false;
});
これには、基本的には、電子メールメッセージが送信された」のようなので、私はページ上のappropiate情報を置くことができ、私はリターンが「真」になりたい送信された場合はjQueryの^
です! "しかし、この場合、送信に失敗しても成功したとしても、それは真実を返すことはありません。私はまた、PHPファイルでprint_r("true")
とdie("true")
を試しましたが、まだ動作しません。なぜ誰が知っていますか?どんなことにも感謝します。
私はそれもうまくいくと思いましたが、同じことが起こります。そして、コンソールでそれは本当だと私は非常に失われていると言う –
コンソールは本当ですか?あなたは 'console.log(encodeURI(data));をしましたか?これの出力は何ですか? –
問題が見つかりました!だからスクリプト(私はPHPMailerを使用して)私はこの行のコード "$ mail-> SMTPDebug = 2;"私がそれを取り除くとすぐに、それは完璧に働いた。ありがとう! –