POSTリクエストとは
HTTP通信でリクエストするメソッド。
POSTリクエストは、リクエストパラメータを指定した場合、GETとは違ってURLにその情報が非表示になります。
ソースコード
ルーティング
Route::get('post', 'App\Http\Controllers\MainController@post');
Route::post('receive', 'App\Http\Controllers\MainController@receive');
POSTリクエストを送る側と受け取る側のルートを作ります。
POSTを受け取る側は、「Route::post」で指定します。
コントローラー
コントローラー、テンプレートについてはGETの時とほぼ同じです。
public function post(){
return view('main.send');
}
public function receive(Request $request){
return view('main.receive', ['name' => $request->name]);
}
テンプレート
テンプレートもGETリクエストの時と変更すべき個所は、
formタグのmethod属性をPOSTに変えればよいだけです。
送信側
<html>
<body>
<form method="POST" action="/receive">
@csrf
<input type="text" name="name" />
<input type="submit" name="submit" value="送信" />
</body>
</html>
受信側
<html>
<body>
送信情報:{{$name}}
</body>
</html>
受け取ったリクエストパラメータを表示します。
実行結果
送信時

受信時

受信時のURLを確認すると、GETとは違ってリクエストパラメータは表示されません。