@iTmTm

Невозможно получить доступ к formData перед инициализацией?

Столкнулся с проблемой , выполняю все по мануалу , при попытке отправить форму на open server(е) в консоли возникает ошибка
Cannot access 'formData' before initialization
at HTMLFormElement.
сверял на ошибки , все так же как и у автора курса , скрин что выводит у него консоль 62a768a07e1b4542487819.png

Еще также заметил в Network у него виден файл server.php, а у меня его там нет...толи не подключен он толи че , я уже не пойму.

в server.php указано 62a7699c68e38847514300.png

Ошибка 62a76a489c7ba853817727.png

Код JS

const forms = document.querySelectorAll('form');

    const message = {
        loading: 'Загрузка...',
        success: 'Спасибо, Скоро мы с Вами свяжемся',
        failure: 'Что-то пошло не так...'
    };

    forms.forEach(item => {
        postData(item);
    });

    function postData(form) {
        form.addEventListener('submit', (e) => {
            e.preventDefault();

            let statusMessage = document.createElement('div');
            statusMessage.classList.add('status');
            statusMessage.textContent = message.loading;
            form.appendChild(statusMessage);

            const request = new XMLHttpRequest();
            request.open('POST', 'server.php');


            request.setRequestHeader('Content-type', 'application/json; charset=utf-8');
            const formData = new formData(form);

            const object = {};
            formData.forEach(function (value, key) {
                object[key] = value;
            });

            const json = JSON.stringify(object);

            request.send(json);

            request.addEventListener('load', () => {
                if (request.status === 200) {
                    console.log(request.response);
                    statusMessage.textContent = message.success;
                } else {
                    statusMessage.textContent = message.failure;
                }
            });
        });
    }
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы