web-dev-qa-db-fra.com

Laravel Rediriger en tant que POST

Actuellement, mes utilisateurs doivent obtenir le formulaire de visite donné par Route::get, puis le remplir pour obtenir une vue des résultats donnée par Route::post. J'ai besoin de créer un lien partageable tel que /account/search/vrm/{vrm}, où {vrm} est le VRM qui est généralement renseigné sur la page du formulaire. Ce VRM doit ensuite être redirigé vers Route::post en tant que données de publication. Cela doit être fait par mon contrôleur. Comment puis-je faire cela dans mon contrôleur?

Itinéraires:

// 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) { ???????? });
3
Enayet Hussain

Les POST ne peuvent pas être redirigés.

Le mieux est de les faire atterrir sur une page contenant un formulaire avec des champs <input type="hidden"> et du code JavaScript qui le soumet immédiatement à la destination souhaitée.

1
ceejayoz

Vous pouvez rediriger vers une action du contrôleur ou appeler directement le contrôleur, voir la réponse ici:

En résumé, définissez la méthode de requête dans le contrôleur ou appelez l'action d'un contrôleur.

Ps: Je ne veux pas répéter la même chose.