10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FormDataでオブジェクトの階層があるデータを送る

Posted at

概要

multipart/form-data形式で、JavaScriptからPostを投げる場合、FormDataを使うケースがあると思います。例えば、RailsのStrong Parametersに対応(Strong Parametersについては【Rails】requireとpermitメソッド参照)するなど、FormDataをオブジェクトの階層形式で送る場合の対応方法について記載します。
なお、FormDataの使い方についてはFormData は multipart/form-data で application/x-www-form-urlencoded は URLSearchParamsにてまとめられています。

サンプルデータ

Json形式で下記の通り表現すると、parantObjectの配下にparamが存在するケースになります。

sample.json
{
  "parantObject" : {
    "name1": "value1"
  }
}

対応方法

以下の通り、FormDataに入れる変数名を親オブジェクト名[子の変数名]の形式で、登録することで親子関係の認識をします。

sample.js
form.append("parantObject[name1]", "value1");

その他参考

10
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?