Добрый день, подскажите пожалуйста. делаю отправку формы с помощью AJAX и обрабатываю на сервере с помощью PHPMailer, но почему-то при отправке формы на почту приходят пустые данные с формы.
Код с JS
let message = {
loading: 'Загрузка...',
success: 'Спасибо! Скоро мы с Вами свяжемся!',
failure: 'Что-то пошло не так...'
};
let forms = document.querySelectorAll('form'),
statusMessage = document.createElement('div');
statusMessage.classList.add('status');
forms.forEach(item => {
let inputs = item.getElementsByTagName('input');
item.addEventListener('submit', function(event) {
event.preventDefault();
item.appendChild(statusMessage);
let request = new XMLHttpRequest();
request.open('POST', 'smart.php');
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
let formData = new FormData(item);
request.send(formData);
request.addEventListener('readystatechange', function() {
if (request.readyState < 4) {
statusMessage.innerHTML = message.loading;
} else if (request.readyState === 4 && request.status === 200) {
statusMessage.innerHTML = message.success;
} else statusMessage.innerHTML = message.failure;
});
for (let i = 0; i < inputs.length; i++) {
inputs[i].value = '';
}
});
});
Код с PHPmailer
$mail->Body = '
Пользователь оставил свои данные для связи <br>
Имя: ' . $_POST['userName'] . ' <br>
Телефон: ' . $_POST['userPhone'] . ' <br>
Почта: ' .$_POST['userEmail'];