Я пытаюсь создать объект FormData из формы на моей странице. Я получаю элемент формы следующим образом:
var form = document.forms['upload_form'];
И затем я создаю объект FormData следующим образом:
var fd = new FormData(form);
Поскольку вы не можете регистрировать значения в объекте FormData (как описано здесь), я Я отправляю данные формы в '/' только для того, чтобы увидеть их содержимое в моем Network Inspector. Содержимое полезной нагрузки запроса просто:
------WebKitFormBoundaryKAgAjii8IMLyJFcB--
и ничего больше! Если я вручную добавлю значение в форму следующим образом:
fd.append("username", "Groucho");
оно работает:
------WebKitFormBoundaryZikgEBo7sTzvlndC
Content-Disposition: form-data; name="username"
Groucho
Я также пытался выбрать элемент формы другими способами, например, с помощью jQuery:
var form = $(".upload_form");
var fd = new FormData(form[0]);
Независимо от того, как я выбираю элемент формы, переменная формы, безусловно, содержит форму (она не является нулевой или пустой), но создание объекта FormData с ним в качестве параметра просто не работает. Кто-нибудь может помочь?
PS Я использую Chrome 31.0.1650.57. Я также пробовал это в Safari 7.0 с теми же результатами.
Еще кое-что: входные данные в этой форме вложены в несколько элементов div. Может ли это быть проблемой?