php - 带有url参数的Laravel post路由

标签 php laravel routing

我面临着一堵巨大的幼虫路由墙,我似乎找不到解决方案

我在 View 模板中有这个表单

<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> 

这是对应的路线

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');
});

我的问题是 Route::post('/request/{equipment_url}', 'PagesController@request'); 因为当方法设置为 post 时,它似乎不接受 url 参数。

即它抛出错误

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

我想同时传递一个参数和post数据。

有没有办法让它工作?有人告诉我 Route::post 也处理 GET,但它似乎不起作用。

最佳答案

问题与Laravel无关

<form url="/request/{{$equipment->url}}" method="POST">

action替换url

<form action="/request/{{$equipment->url}}" method="POST">

关于php - 带有url参数的Laravel post路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31872422/

相关文章:

php - 将mysql时间戳转换为实际日期和时间?

php - 如何在 PHPUnit 中测试 cmp()

zend-framework - Zend 框架 HTTPS URL

javascript - vue.js - 嵌套组件架构中的路由

php - 声明一个空类不好吗?

php - 免费安全的PHP用户管理系统

php - 如何在 php 中使用 post 请求保留文件名和扩展名?

javascript - 单击 Laravel 中的下拉标签后隐藏回显

mysql - 查询外键号码

java - JSprit算法软硬时间窗