Не загружается thank you page после отправки данных формы через phpmailer
После отправки данных через phpmailer не загружается thank-you page. Но она видна в разделе "сеть" инструментов разработчика - весь её html: http://joxi.ru/eAOednvcpRqJJm Проблема началась после того, как я подключил jquery validation для проверки формы - до этого всё работало. Письма приходят исправно, все данные формы передаются. Я пока только учусь, видимо, что-то где-то сломал, и не хватает мозгов отследить ошибку. С PHP, к сожалению, не знаком вообще никак.
Вот как я пытаюсь загружать страницу:
if(!$mail->Send()) {
echo "Message could not be sent. ";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
header('location: thank-you.html')
Вот фрагмент с валидацией:
$('.popup__container').validate({
rules: {
field: {
required: true,
email: true
}
},
submitHandler: function (form) {
var formData = new FormData(form);
$.ajax({
url: "./mail.php",
type: "POST",
data: formData,
contentType: false,
processData: false,
success: function (data) {
console.log('success');
}
});
},
messages: {
yourname: {
required: "поле не заполнено",
maxlength: "в поле должно быть не более 50 символов"
},
msg: "поле не заполнено или заполнено не верно",
yourmail: "необходимо ввести номер телефона или email"
}
});
Ответы (1 шт):
Вы здесь
$.ajax({
url: "./mail.php",
type: "POST",
data: formData,
contentType: false,
processData: false,
success: function (data) {
console.log('success');
}
});
отправляете вашу форму на сервер аяксом и после успешного выполнения запроса ничего с пришедшим результатом не делаете, просто выводите success в консоли js. Вам либо нужно отказаться от аякса, просто делать form.submit() либо оставить аякс и после получения успешного ответа, делать редирект на thank-you.html
редирект можно сделать так window.location.href = '/thank-you.html ';