У меня есть собственная форма в Wordpress, которая после заполнения и нажатия кнопки отправки перенаправляет на страницу с благодарностью и данными из этой формы.В то же время, но перед перенаправлением те же данные из формы отправляются пользователю и администратору по электронной почте.Шаги всего процесса следующие:
- Проверка формы в jQuery Validate
- Отправка данных из формы в электронное письмо с использованием jQuery ajax
- Перенаправлениена страницу, благодарю вас и отправляю переменные из формы на эту страницу, используя метод POST (jQuery + PHP).
jQuery code:
// validation
$('#registration_form').validate({
rules: {
training_name: "required",
training_place: "required",
training_date: "required",
participants_number: {
required: true,
range: [0,100]
},
(...) // etc
});
// jQuery ajax email sending
$('#registration_form').on('submit', function(e) {
// e.preventDefault();
if ($(this).valid()) {
let formData = $(this).serialize();
$.ajax({
url: ajax.url,
type: 'POST',
cache: false,
async: true,
xhrFields: {
withCredentials: true
},
data: {
action: 'registerFormSendEmail',
form_data: formData
},
success: function(res) {
// console.log(res);
}
});
// return false;
}
});
В html-коде формыУ меня есть имя действия с постоянной ссылкой на страницу Спасибо с переменными POST.Проблема в том, что иногда отправка электронной почты и перенаправление с переменными POST работает, а иногда нет.Чаще всего это не работает в Safari.У кого-то есть идея, почему и что я делаю не так?