同じページに戻る前に、Ajax コードが PHP ファイルと通信できるようにしようとしています。
フォームに入力したいのですが、send がヒットするとすぐに AJAX コードと通信します。したがって、エンド ユーザーに成功または失敗のメッセージを返す前に、PHP ファイルと通信します。
Ajax コードは次のとおりです。
$(document).ready(function(){
$(function() {
$(".submit").click(function() {
// validate and process form here
var fname = $("#fname").val() ;
var lname = $("#lname").val();
var aemail = $("#aemail").val() ;
var year = $("#year").val();
var club = $("#club").val() ;
var position = $("#position").val();
var dataString = 'name='+ name + '&fname=' + fname + '&lname=' + lname + '&aemail=' + aemail + '&year=' + year + '&club=' + club + '&position=' + position;
$.ajax({
type: "POST",
url: "acad_process.php",
data: dataString,
success: function(){
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<h2>Contact Form Submitted!</h2>")
.append("<p>Thank you. We will be in touch soon.</p>")
};
return false;
error: function(){
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<h2>Contact Form Failed!</h2>")
.append("<p>Sorry, your form returned an error! Please try again.</p>")
.hide()
.fadeIn(1500, function() {
});
};
return false;
});
});
});
});
</script>
どんな助けでも大歓迎です。私はAJAXが初めてなので。ありがとう
問題は PHP にあるようです。詳細な調査で、PHP ページにエラー 500 が表示され、ページに何も返されないためです。PHPコードは次のとおりです。
<?php
$email_to = "example@domain.co.uk";
if (!empty($_POST))
{
$fname = $_POST["fname"];
$lname = $_POST["lname"];
$email_from = $_POST["aemail"];
$year = $_POST ["year"];
$club = $_POST ["club"];
$position = $_POST ["position"];
$email_subject = "Enquiry";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers = "From: $email_from . \n";
$headers = "Reply-To: $email_from . \n";
$message = "<p> You have received a message!</p>";
$message .= "<p><strong>First Name:</strong>" . $fname . "</p>";
$message .= "<p><strong>Surname:</strong>" . $lname . "</p>";
$message .= "<p><strong>School Year:</strong> " . $year . "</p>";
$message .= "<p><strong>E-Mail:</strong>" . $aemail ."</p>";
$message .= "<p><strong>Club:</strong> " . $club . "</p>";
$message .= "<p><strong>Position:</strong>" . $position . "</p>";
ini_set("sendmail_from",$email_from);
mail($email_to, $email_subject, $message, $headers, '-f'.$email_from);
}
?>