「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Fetch API を使用してフォーム データをさまざまな形式で送信するにはどうすればよいですか?

Fetch API を使用してフォーム データをさまざまな形式で送信するにはどうすればよいですか?

2024 年 11 月 20 日に公開
ブラウズ:273

How do you send form data with Fetch API in different formats?

Fetch API を使用したフォーム データの投稿

Fetch API を利用してフォーム データを送信する場合、考慮すべき主な形式は 2 つあります。

Multipart/ Form-Data

FormData を使用してリクエスト本文を作成する場合、データは自動的に multipart/form-data 形式で送信されます。これは FormData のデフォルトの動作であり、変更できません。

Application/x-www-form-urlencoded

application/x-www-form-urlencoded 形式でデータを送信するには、次のようにします。いくつかのオプションがあります:

1. URL エンコードされた文字列:

fetch("api/xxx", {
    body: "[email protected]&password=pw",
    headers: {
        "Content-Type": "application/x-www-form-urlencoded",
    },
    method: "post",
});

2. URLSearchParams オブジェクト:

const data = new URLSearchParams();
data.append("email", "[email protected]");
data.append("password", "mypassword");

fetch("api/xxx", {
    body: data,
    method: "post",
});

URLSearchParams を使用する場合、正しいコンテンツ タイプが自動的に設定されるため、Content-Type ヘッダーを指定する必要はありません。

3. FormData からの URLSearchParams:

const data = new URLSearchParams(new FormData(formElement));

fetch("api/xxx", {
    body: data,
    method: "post",
});

このオプションを使用すると、FormData オブジェクトを直接渡して URLSearchParams オブジェクトを作成できます。ただし、ブラウザのサポートが制限されている場合があるため、使用する前に必ず十分にテストしてください。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3