我想创建一个表单,所以当我点击提交时,它会使用post方法转到root url。我创建了以下
{{ Form::open(array('route' => array('send'), 'method' => 'post')) }}
...
{{ Form::close() }}
和路线
Route::get('/', 'Controller@home');
Route::post('/', 'Controller@home')->name('send');
但是来自controller的$ request值为null,方法是get而不是post。
答案 0 :(得分:1)
无需将method=>post
与route
一起使用,它与url
read in docs一起使用。如下所示更改Form::open
无论
{{ Form::open(['route' => 'send']) }}
或者
{{ Form::open( ['url' => '/','method' => 'post'] ) }}
答案 1 :(得分:0)
你有两条路径相同的开头(“\”)指向相同的控制器功能。
尝试用
之类的东西替换第二个Route::post('/home', 'Controller@homepost')->name('send');
只需复制您的家庭方法,并确保您有类似的内容:
public function homepost (Request $request)
{ .... }
答案 2 :(得分:0)
你可以使用Route::any()如果你想要相同的网址或功能来响应多种类型的请求,比如get,post等。
Route::any('/', 'Controller@home');
或者您可以使用Route::match()
。
Route::match(['get', 'post'], '/', Controller@home');