現在、私のユーザーはRoute::get
で指定された訪問フォームを取得し、Route::post
で指定された結果ビューを取得するには、フォームに入力する必要があります。 /account/search/vrm/{vrm}
などの共有可能なリンクを作成する必要があります。ここで、{vrm}
は、通常フォームページに入力されるVRMです。このVRMは、投稿データとしてRoute::post
にリダイレクトする必要があります。これは私のコントローラーで行う必要があります。コントローラでこれを行うにはどうすればよいですか?
ルート:
// Shows form view
Route::get('/account/search', 'User\AccountController@getSearch')->name('account.search');
// Shows result view
Route::post('/account/search', 'User\AccountController@runSearch');
// Redirect to /account/search as POST
Route::get('/account/search/vrm/{vrm}', function($vrm) { ???????? });
コントローラのアクションにリダイレクトするか、コントローラを直接呼び出すことができます。 ここで答えを参照してください:
要約すると、コントローラーでリクエストメソッドを設定するか、コントローラーのアクションを呼び出します。
Ps:同じことを繰り返したくないです。
POSTはリダイレクトできません。
あなたの最善の策は、<input type="hidden">
フィールドを含むフォームと、目的の宛先にすぐに再送信するJavaScriptを含むページにそれらを配置することです。