Всем спасибо... Натолкнули на мысль, что я допускал одну очень простую ошибку..... Итак, по логике работы данного кода, помимо массива я передавал еще и почту, на которую нужно отправить данные. Соответсвенно, убирая event.target из formData я конечно терял введенное значение и массив то может и принимался, только куда его и что с ним делать....код не знал... по итогу, решение такое:
Во первых решил остаться все-таки на formData, т.к. возможно в скором времени понадобиться пересылка файлов.
Во вторых. просто собрал массив, а не массив объектов, как было до этого.
как-то так
//объявляем массив для сохранения значений
const messagesValue = [];
//перебираем массив сообщений
messages.forEach(element => {
if (element.classList.contains('AB__chat__inner__center__bot')) {
messagesValue.push("Оператор: " + (element.children[0]).textContent);
}
else if (element.classList.contains('AB__chat__inner__center__people')) {
messagesValue.push('Вы: ' + (element.children[0]).textContent);
}
});
в третьих. formdata формирую следующим образом:
validation
.onSuccess((event) => {
let formData = new FormData();
formData.append('key1', JSON.stringify(array));
formData.append('key2', input);
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
alert('');
}
}
}
xhr.open('POST', 'mail.php', true);
xhr.send(formData);
event.target.reset();
});
}
ну и наконец, принимаю это дело так
if (isset($_POST['key1'])) {
$array = json_decode($_POST['key1']);
..............
$inputValue = $_POST["key2"];
По итогу все заработало. Невнимательность прежде всего.... всем спасибо, и будьте внимательны))