このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Request: formData() メソッド

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Want more browser support for this feature? Tell us why.

メモ: この機能はウェブワーカー内で利用可能です。

formData()Request インターフェイスのメソッドで、リクエスト本体を読み込み、 FormData オブジェクトで解決するプロミスとして返します。

構文

js
formData()

引数

なし。

返値

Promise であり、 FormData オブジェクトで解決します。

例外

TypeError

以下のいずれかの理由で発生します。

  • リクエストの本文が変更中またはロック済みである。
  • 本文のコンテンツをデコードする際にエラーが発生した(例えば、Content-Encoding ヘッダーが正しくないなど)。
  • 本文の MIME タイプを、リクエストに含まれる Content-Type ヘッダーから特定できないか、あるいはそのタイプが application/x-www-form-urlencoded または multipart/form-data ではない。
  • 本文が FormData オブジェクトとして構文解析できない。

js
const formData = new FormData();
const fileField = document.querySelector('input[type="file"]');

formData.append("username", "abc123");
formData.append("avatar", fileField.files[0]);

const request = new Request("/myEndpoint", {
  method: "POST",
  body: formData,
});

request.formData().then((data) => {
  // リクエストで送信されたフォームデータに対して何らかの処理を行う
});

仕様書

仕様書
Fetch
# ref-for-dom-body-formdata①

ブラウザーの互換性

関連情報