У меня есть следующий код, пишущий в ajax, который отправил запрос на сервер
$.ajax({
type: "POST",
url: action,
data: str,
success: function(msg) {
//alert(msg);
if (msg == 'sent') {
alert("success");
$('#errormessage').html('<div class="alert alert-success">Email sent successfully.</div>');
$('.contactForm').find("input, textarea").val("");
}else if (msg == 'saved') {
$("#sendmessage").removeClass("show");
$("#errormessage").addClass("show");
$('#errormessage').html('<div class="alert alert-warning">Email couldn\'t be sent but not too worry we got it in our database. We will get back to you.</div>');
$('.contactForm').find("input, textarea").val("");
}
else {
$("#sendmessage").removeClass("show");
$("#errormessage").addClass("show");
$('#errormessage').html(msg);
}
}
});
php код
$to_email = $set['Email'];
$headers = "From: ". $email;
//check if the email address is invalid $secure_check
$secure_check = sanitize_my_email($email);
if ($secure_check == false) {
echo "Invalid input";
} else { //send email
$query = mysqli_query($mysqli,"INSERT INTO emails(name,email,subject,message)VALUES('$name','$email','$sub','$msg')");
$mail = mail($to_email,$sub,$msg,$headers);
if($query and $mail){
echo 'sent';
}else if($query and !$mail){
echo 'saved';
}else{
echo $mysqli->error;
}
}
Если я отправлюэлектронная почта успешно выполнена с вставкой. Проблема, с которой я сталкиваюсь, заключается в том, что ajax не распечатывает правильное сообщение. Он выполняет только часть else , которая отображает отправлено
Эта часть кода не ожидается:
if (msg == 'sent') {
alert("success");
$('#errormessage').html('<div class="alert alert-success">Email sent successfully.
</div>');
$('.contactForm').find("input, textarea").val("");
}
Вместо этого она отображаетсяпросто отправлено сообщение
else {
$("#sendmessage").removeClass("show");
$("#errormessage").addClass("show");
$('#errormessage').html(msg);
}