Laravel post itinéraire avec les paramètres d'url
Je suis face à un gros mur de larves de routage et je n'arrive pas à trouver une solution
J'ai ce formulaire dans un gabarit de vue
<form url="/request/{{$equipment->url}}" method="POST">
<div class="row">
<div class="col-sm-4">
<div class="mt10">Start Date:</div>
<input type="date" required name="starting_date" value="" placeholder="From" class="request-input request-date mb10">
</div>
<div class="col-sm-4">
<div class="mt10">End Date:</div>
<input type="date" required name="ending_date" value="" placeholder="To" class="request-input request-date mb10">
</div>
<div class="col-sm-4">
<div class="mt10">Quantity</div>
<input type="number" required name="quantity" value="" placeholder="Quantity" class="request-input mb10">
</div>
</div>
<div class="row">
<div class="col-sm-4">
<div class="mt10">Voltage</div>
<input type="number" required name="voltage" value="" placeholder="Voltage" class="request-input mb10">
</div>
<div class="col-sm-4">
<div class="mt10">Param 1</div>
<input type="text" required name="param_1" value="" placeholder="Parameter" class="request-input mb10">
</div>
<div class="col-sm-4">
<div class="mt10">Param 2</div>
<input type="text" required name="param_2" value="" placeholder="Parameter" class="request-input mb10">
</div>
</div>
<div class="row">
<div class="col-sm-12">
<button class="btn btn-block button-orange">Get quotes now</button>
</div>
</div>
</form>
et c'est le correspondant routes
Route::group([ 'middleware' => 'rental'], function(){
Route::get('/my-requests/{readby_url}', 'PagesController@requests');
Route::post('/request/{equipment_url}', 'PagesController@request');
Route::post('/request/create', 'RequestsController@create');
Route::post('/request/accept', 'RequestsController@accept');
});
Mon problème est avec Route::post('/request/{equipment_url}', 'PagesController@request');
comme il semble ne pas accepter les paramètres d'url lorsque la méthode est post.
je.e il jette l'erreur
MethodNotAllowedHttpException in RouteCollection.php line 201:
in RouteCollection.php line 201
at RouteCollection->methodNotAllowed(array('GET', 'HEAD')) in RouteCollection.php line 188
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD')) in RouteCollection.php line 140
at RouteCollection->match(object(Request)) in Router.php line 746
at Router->findRoute(object(Request)) in Router.php line 655
at Router->dispatchToRoute(object(Request)) in Router.php line 631
at Router->dispatch(object(Request)) in Kernel.php line 237
Je veux passer un paramètre et publier des données en même temps.
Est-il un moyen de faire ce travail? J'ai dit que Route::post poignées OBTENIR aussi bien, mais il ne semble pas fonctionner.
OriginalL'auteur Jad Salhani | 2015-08-07
Vous devez vous connecter pour publier un commentaire.
Le problème n'a rien à voir avec Laravel
remplacer
url
avecaction
OriginalL'auteur Jad Joubran
HTTP POST verbe n'accepte pas les paramètres de l'URL comme GET, il accepte de l'Organisme de HTTP POST. Pour aller chercher le post des paramètres que vous utilisez le code ci-dessous:
Dans routes.php:
et dans votre PagesController accès au formulaire de saisie en utilisant l'une des méthodes de saisie telle que ci-dessous
ensuite, vous devrez utiliser l'OBTENIR
Quelle est la motivation pour cela? Dans mon cas, le passage de paramètre comme une partie de l'URL rendrait les choses bien plus pratique 🙁
Je pense que cette réponse est à côté de la question. Oui, le POST n'accepte pas de CHAÎNE de REQUÊTE params, mais il n'accepte URI segments, et c'est ce que les routes de l'OP sont affichées à l'aide.
OriginalL'auteur Arlind
Vous ne pouvez pas envoyer des paramètres get post itinéraire.
Mais vous pouvez le faire par un truc simple, il suffit de passer votre valeur ({{$équipement->url}}) en forme cachée déposée, ou à la session.
Par Exemple:
html
itinéraire
controller
OriginalL'auteur Anshul Mishra