IvanZh сообщил мне, что этот подход не работает для него, что побудило меня провести небольшое исследование объекта HTML5 FormData
. Как оказалось, я был совершенно неправ в этом (см. Старый неверный ответ ниже). Все данные для FormData
находятся в собственном коде. Это означает, что браузер обрабатывает данные для полей формы и загрузки файлов на языке его реализации.
Цитирование MDN:
Примечание. ... Объекты FormData не являются строковыми объектами. Если вы хотите преобразовать отправленные данные в строку, используйте предыдущий пример чистого AJAX. Также обратите внимание, что хотя в этом примере есть несколько файловых полей, при отправке формы через API FormData вам не нужно также использовать API FileReader: файлы загружаются и загружаются автоматически.
Невозможно представить эту информацию в JavaScript, поэтому мое наивное предложение просто сериализовать ее как JSON не сработает (что заставляет меня задаться вопросом, почему этот ответ был принят в первую очередь).
В зависимости от того, чего вы пытаетесь достичь (например, если вы только пытаетесь выполнить отладку), может оказаться возможным просто передать эту информацию серверному сценарию, который возвращает соответствующие метаданные JSON. В PHP, например, вы можете отправить свои FormData на analyzeForm.php
, который может легко получить доступ ко всему, что вы прикрепили к FormData по соответствующему запросу superglobal. Скрипт переварит содержимое вашей формы и вернет соответствующую информацию в удобном для анализа JSON. Это очень неэффективно, поэтому, вероятно, не подходит для производственных сред, но хоть что-то.
Старый неверный ответ:
Вы можете попробовать использовать:
alert(JSON.stringify(fd));
для просмотра текстового представления структуры fd
.
Вы также можете использовать console.log
, но это нестандартная функция, и ее наличие во всех браузерах не гарантируется.
person
Asad Saeeduddin
schedule
01.12.2012