По принципу работы отправляю данные по форме на модальном окне методом fetch, JSON формате,после отправки оповещаю что сообщение отправлено или что то пошло не так. Есть файл db.json он принимает данные все хорошо работает. Запустил openserver,json-server ошибок нету,консоли тоже. Но все вводит сообщение что-то пошло не так. В чем может быть причина?
Вот мой код js
const forms = document.querySelectorAll('form');
const message = {
loading:'img/spinner.svg',
success:'Спасибо! Мы с вами свяжемся',
failure:'Что-то пошло не так...'
};
forms.forEach(item => {
bindpostData(item);
});
const postData = async(url,data) => {
const res = await fetch(url, {
method:"POST",
headers:{
'Content-type':'application/json'
},
body: data
});
return await res.json();
};
function bindpostData(form) {
form.addEventListener('submit',(e) => {
e.preventDefault();
const statusMessage = document.createElement('img');
statusMessage.src = message.loading;
statusMessage.style.cssText = `
display:block;
margin:0 auto;
`;
form.append(statusMessage);
const formData = new FormData(form);
const json = JSON.stringify(Object.fromEntries(formData.entries()));
postData('http://localhost:3000/requests',json)
.then(data => data.text())
.then(data => {
console.log(data);
showThanksModal(message.success);
statusMessage.remove();
}).catch(() => {
showThanksModal(message.failure);
}).finally(() => {
form.reset();
});
});
}
function showThanksModal(message) {
const prevModalDialog = document.querySelector('.modal__dialog');
prevModalDialog.classList.add('hide');
openModal();
const thanksModal = document.createElement('div');
thanksModal.classList.add('modal__dialog');
thanksModal.innerHTML = `
<div class = "modal__content">
<button data-close class="modal__close" type="button">
<svg data-close class="modal__close-icon">
<use xlink:href="#close"></use>
</svg>
</button>
<div class="modal__title">${message}</div>
</div
`;
document.querySelector('.modal').append(thanksModal);
setTimeout( () => {
thanksModal.remove();
prevModalDialog.classList.add('show');
prevModalDialog.classList.remove('hide');
closeModal('.modal');
},4000);
<?php
$_POST = json_decode(file_get_contents("php://input"),true);
echo var_dump ($_POST);