FormDataで入れ子のデータをPOSTする方法

typescript

fetchでこんな感じのデータをPOSTしたい場合どうするのか?

[
  0 => [
    'id' => '1',
    'name' => 'aaaaa',
  ],
  1 => [
    'id' => '2',
    'name' => 'bbbb',
  ],
]

入れ子配列のデータはPOSTできないのでjsonに変換してテキストで送るしかないみたいな情報が結構ありましたが、そんなことはありません。
こんな感じにすると送ることができます。

const formData = new FormData();
Object.keys(users).forEach(key => {
  const value = users[key];
  formData.append(key+'[id]',value['id']);
  formData.append(key+'[name]',value['name']);
});

つまり、このように書くと。。。

  formData.append(インデックス+'[キー名]’,値);

インデックス(数値)をキーした配列が新たにつくられます。

タイトルとURLをコピーしました