JavaScript で HTML フォームのデータを操作する場合、多くの場合、そのデータを収集、操作し、サーバーに送信する必要があります。ここで、強力で柔軟なフォーム管理 API である FormData が登場します。この投稿では、FormData の仕組み、その利点、実際のシナリオでの使用方法について詳しく説明します。
FormData は、次のことを可能にする埋め込み JavaScript オブジェクトです。
HTML フォームからの簡単なデータ収集。
フェッチ API または XMLHttpRequest を使用してそのデータをサーバーに送信します。
ファイルなどのバイナリ データを操作します。
このオブジェクトは、multipart/form-data MIME タイプに従ってデータを自動的にフォーマットするため、ファイルなどの複雑なデータの送信に最適です。
データを手動で追加する場合は、空の FormData コンストラクターを使用します。
const formData = new FormData(); formData.append('username', 'Jelena'); formData.append('email', 'jelena@example.com');
HTML フォームがある場合は、フォーム参照を FormData コンストラクターに直接渡すことができ、そこからすべてのデータが自動的に収集されます。
const form = document.getElementById('registrationForm'); const formData = new FormData(form);
データは .append(key, value) メソッドを使用して追加されます:
formData.append('firstName', 'Jelena'); formData.append('lastName', 'Petković');
からファイルを追加する場合は、.files[0]:
を使用してください。
const fileInput = document.getElementById('profilePicture'); formData.append('profilePicture', fileInput.files[0]);
FormData オブジェクト内のデータを反復処理するには、for...of ループと .entries() メソッドを使用します。
for (let [key, value] of formData.entries()) { console.log(`${key}: ${value}`); }
FormData は、フェッチ API を使用してサーバーにデータを送信するのに最適です。簡単な例を次に示します:
fetch('https://example.com/api/register', { method: 'POST', body: formData, // Automatski formatiran kao multipart/form-data }) .then(response => response.json()) .then(data => console.log('Uspešno registrovano:', data)) .catch(error => console.error('Greška:', error));
Content-Type ヘッダーを手動で設定する必要はありません。 FormData はこれを自動的に行います。
ファイルの操作
FormData を使用すると、 から直接ファイルを簡単に追加して送信できます。フィールド。
自動シリアル化
データを手動でフォーマットする代わりに、FormData はデータを multipart/form-data に自動的にフォーマットします。
柔軟性
データの反復および更新機能など、キーと値のペアの管理が簡単です。
バイナリデータのサポート
画像、PDF、その他のファイルなどのバイナリ データを送信するのに最適です。
これは、フォームからデータを収集してサーバーに送信する完全な例です:
const formData = new FormData(); formData.append('username', 'Jelena'); formData.append('email', 'jelena@example.com');
データを手動で変更する場合は、.append() の代わりに .set(key, value) を使用します。
.has(key) メソッドを使用して、特定のキーが存在するかどうかを確認できます。
データを削除するには、.delete(key) を使用します。
FormData は、フォーム データを操作するための強力なツールです。ファイルを操作する場合でも、データの収集、操作、送信が簡単に行えます。その柔軟性と最新の JavaScript API との簡単な統合により、多くの Web アプリケーションにとって不可欠なものとなっています。
以上がJavaScript の「FormData」オブジェクトについて知っておくべきことすべての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。