Столкнулся с неудобной проблемой.
data: new FormData($('form')[0])
работает отлично, но:
$("form").submit(function(e) {
sendData($(this));
e.preventDefault();
});
function sendData(submitForm) {
...
data: new FormData(submitForm)
не работает. Я не могу понять почему. Я проверил и убедился что submitForm заполнен данными формы и информацией о ней. Тогда что тут именно не так и как это исправить?
Функция $ возвращает объект jQuery, который всегда представляет набор DOM-элементов, конструктор FormData аргументом принимает DOM-элемент формы и не может напрямую работать с объектом jQuery.
Во втором случае квадратные скобки нужны также, как и в первом, для того, чтобы получить DOM-элементы из объекта jQuery, для правильно работы нужно записать так:
data: new FormData(submitForm[0])
Либо вы можете передавать в функцию sendData объект this без вызова $:
sendData(this);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники