次の PHP/Ajax の問題があり、現在、関連する同様の質問が見つからないようです。メールがフォームから正常に送信されるサイトがありますが、スクリプトの Ajax 部分が正しく呼び出されません。正常に動作すると、ユーザーが送信をクリックすると、フォーム検証のために Ajax スクリプトが呼び出されます。この部分は機能し、電子メールが送信されますが、送信ウィンドウを閉じて感謝を伝えるために電子メールを送信した後、Ajax スクリプトが呼び出されないなどの問題があります。
私の問題は、Ajax スクリプトの成功部分を呼び出すコード行が PHP のどこかに欠けていることだと思います。
スクリプトは以下に添付されています。
PHPコード
<?php $emailTo = myemail@gmail.com'; $subject=$_REQUEST['subject']; $name=$_REQUEST['name']; $email=$_REQUEST['email']; $msg=$_REQUEST['message']; $body = "Name: $name \n\nEmail: $email \n\nMessage: $msg"; $headers = 'From: '.$name.' <'.$email.'>' . "\r\n" . 'Reply-To: ' . $email; mail($emailTo, $subject, $body, $headers); ?>
Ajax コード
$.ajax({
type: "POST",
url: "email.php",
data: params,
success: function(response){
if(response){
var responseObj = jQuery.parseJSON(response);
if(responseObj.ResponseData)
alert(responseObj.ResponseData);
}
ResetInput();
$('#submitButton').removeAttr('disabled');
ClosePopupWindow();
},
必要に応じて、完全な Ajax コードは次の要点にあります - https://gist.github.com/4117065