web-dev-qa-db-ja.com

LaravelリダイレクトPOST

現在、私のユーザーは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) { ???????? });
4
Enayet Hussain

コントローラのアクションにリダイレクトするか、コントローラを直接呼び出すことができます。 ここで答えを参照してください:

要約すると、コントローラーでリクエストメソッドを設定するか、コントローラーのアクションを呼び出します。

Ps:同じことを繰り返したくないです。

POSTはリダイレクトできません。

あなたの最善の策は、<input type="hidden">フィールドを含むフォームと、目的の宛先にすぐに再送信するJavaScriptを含むページにそれらを配置することです。

1
ceejayoz