首页 > 解决方案 > Laravel 路由发布与获取

问题描述

项目是laravel 5.6。我的项目有 2 条路线:

网页.php

Route::get('testa', 'HomeController@showTestForm')->name('test');
Route::post('testa', 'HomeController@doTest');

家庭控制器:

public function showTestForm()
{
    Log::warning('from showTestForm');    
    return view('test');
}

.public function doTest(Request $request)
{
    Log::info('from doTest');    
    // return Input::all();
    return view('test', [
        'input' => implode(', ', Input::all()),
    ]);
}

test.blade.php

<form method="post" action="{{ route('test') }}">
@csrf

<input type="text" name="inputvalue">
<button type="submit" class="btn btn-primary">
merge
</button>

</form>

<div>Result</div>
@if(isset($input))
{{$input}}
@endif

为什么在 route('test') 上工作?谢谢你。

标签: phplaravelpostrouteslaravel-blade

解决方案


编辑:

Route::post('testa', 'HomeController@doTest')->name('postTest');

然后使用

<form method="post" action="{{ route('postTest') }}">

希望这会奏效


推荐阅读