JavaScript FormData.entries() — усі пари поле-значення
Метод entries() повертає ітератор пар [ім'я, значення].
Загальний опис
Ось у чому його справжня цінність: console.log(formData) показує порожній об'єкт. Вміст просто не видно — і це щоразу спантеличує.
Щоб побачити, що всередині, доводиться перебирати: [...data.entries()] або for...of. Це перше, що робиш, коли форма відправляє не те, що очікуєш.
Але для звичайних форм є коротший шлях: Object.fromEntries(data) віддасть звичайний об'єкт. Обережно — повторювані поля (кілька файлів) при цьому злипнуться в одне.
- Порада
-
автор: NagarDconsole.log([...formData])— перше, що варто зробити, коли форма надсилає не те. Простоconsole.log(formData)покаже порожнечу.
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| entries | 50+ | 44+ | 11+ | 37+ | 18+ | - |
| Переглядач | ||||
|---|---|---|---|---|
| entries | 50+ | yes | yes | 11+ |
Приклади
+ запропонувати свій приклад у пісочниці
Як побачити вміст FormData, якого не показує консоль.
HTML
<form id="f">
<input name="name" value="Лесь">
<input name="lang" value="css">
</form>
JS
const form = document.getElementById('f');
const data = new FormData(form);
console.log(data); // сам об'єкт вмісту не показує!
console.log([...data]); // ось тепер видно
for (const [name, value] of data.entries()) {
console.log(name, '=', value);
}
// у звичайний об'єкт — але повторювані ключі злипнуться
console.log(Object.fromEntries(data));
Коментарі
Коментарів ще немає — будьте першим!