FormDataにフィールドを追加・変更

FormDataにフィールドを追加・変更するには、FormData.appendメソッドまたはFormData.setメソッドを使用します。
既にフィールド名が存在している場合、FormData.appendメソッドはフィールド名で新しく追加していくのに対し、FormData.setメソッドは値を上書きします。

値はBlob型やFile型といったファイル形式も指定することができます。

構文

append

JavaScript

FormData.append(name, value, filename);

set

JavaScript

FormData.set(name, value, filename);

引数

引数名 説明
第一引数
必須
name string フィールド名を指定。
第二引数 value string | Blob | File 設定または変更する値を指定。
第三引数 filename string 第二引数にBlob型またはFile型を指定した時、送信するファイル名を指定。

サンプルコード

JavaScript (ES5)

// 新規のフォームオブジェクトを生成
var formData = new FormData();

// キーと値のペアを初期設定
formData.append('foo', 'abc');

// 上書き
formData.set('foo', '123');

// 追加
formData.append('foo', 'def');

// 添付ファイルを追加
formData.set('image', document.querySelector('[type="file"]').files[0], 'sample.jpg');

JavaScript (ES6以降)

// 新規のフォームオブジェクトを生成
const formData = new FormData();

// キーと値のペアを初期設定
formData.append('foo', 'abc');

// 上書き
formData.set('foo', '123');

// 追加
formData.append('foo', 'def');

// 添付ファイルを追加
formData.set('image', document.querySelector('[type="file"]').files[0], 'sample.jpg');

console.log(formData);

JavaScript逆引きリファレンス一覧へ戻る