【週刊ドットインストール】 256timesのクラスを準備中、Ruby/Ruby on Railsのロードマップページを追加
お忙しいところ恐れ入ります。
fetch メソッドの第2引数 options に指定してあるオブジェクトの body プロパティに URLSearchParams を使用されています。
options
body
fetch('?action=toggle', { method: 'POST', body: new URLSearchParams({ //注目箇所 id: checkbox.dataset.id, token: checkbox.dataset.token, }), });
URLSearchParams を調べたところ、 引数にオブジェクト形式で値を指定すると、それを元にクエリ文字列を生成するということでした。
ここから質問なのですが、 クエリ文字列を生成する必要があるのですか?
GET 形式で送信された場合クエリ文字列が URL に付加されるため必要なのはわかるのですが、 POST 形式で受け取る場合クエリ文字列は関係ないのではないでしょうか?
例えば token の場合、 Token.php ファイルの validate メソッド内に filter_input メソッドで POST 型で token を取得しています。
token
Token.php
validate
filter_input
public static function validate() { if ( empty($_SESSION['token']) || $_SESSION['token'] !== filter_input(INPUT_POST, 'token') //該当箇所 ) { exit('Invalid post request'); } }
body プロパティに URLSearchParams インスタンスを使用せず、 単なるオブジェクトリテラルを使用して id と token を渡すことはだめなのでしょうか?
id
body: { id: '任意のid値', token: ’任意のトークン値’ }
よろしくお願いします。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
お忙しいところ恐れ入ります。
fetch メソッドの第2引数
optionsに指定してあるオブジェクトのbodyプロパティにURLSearchParams を使用されています。
URLSearchParams を調べたところ、
引数にオブジェクト形式で値を指定すると、それを元にクエリ文字列を生成するということでした。
ここから質問なのですが、
クエリ文字列を生成する必要があるのですか?
GET 形式で送信された場合クエリ文字列が URL に付加されるため必要なのはわかるのですが、
POST 形式で受け取る場合クエリ文字列は関係ないのではないでしょうか?
例えば
tokenの場合、Token.phpファイルのvalidateメソッド内にfilter_inputメソッドで POST 型でtokenを取得しています。bodyプロパティに URLSearchParams インスタンスを使用せず、単なるオブジェクトリテラルを使用して
idとtokenを渡すことはだめなのでしょうか?よろしくお願いします。