2023-11-22
FormDataは画像やその他ファイルなどもまとめて格納して送ることができる便利な
apiなのですが、唯一対応していないのがboolean値です。
例えば、以下のようにしてboolean値を送ろうとします。
</pre> let data = new FormData(); data.append("isBool", true); <pre>
この状態でdata.getAll(‘isBool’);で取り出すと,”true”のように文字列に修正された値が
返ってきます。
これは、form-dataはbool値をサポートしておらず、そのまま data.append(‘isBool’, true)と
送信するとbool値trueが文字列に変換されてしまい正しく反映されないためです。
例として数字や文字列も一緒に格納してみます。
data.append('name', 1000); data.append('name', 'yamada'); data.append('name', true); data.getAll('isBool');
結果は以下の通り。
// [“1000”, “yamada”, “true”]
yamada以外文字列でないのでkeyと同じ文字列として変換されます。
formDataは万能ですが扱えない型もあるということを念頭においておく必要があります。