Php 不允许使用Laravel例外405方法

Php 不允许使用Laravel例外405方法,php,laravel,routes,laravel-routing,laravel-exceptions,Php,Laravel,Routes,Laravel Routing,Laravel Exceptions,我试图在我的程序中创建一个新的“机载”测试,并得到一个405 MethodNotAllowed异常 路线 Route::post('/testing/{id}/airbornes/create'[ '使用'=>'AirborneController@create' ]); 控制器 public function create(Request $request, $id) { $airborne = new Airborne; $newairborne = $airborne-

我试图在我的程序中创建一个新的“机载”测试,并得到一个405 MethodNotAllowed异常

路线

Route::post('/testing/{id}/airbornes/create'[
'使用'=>'AirborneController@create'
]);
控制器

public function create(Request $request, $id)
{
    $airborne = new Airborne;

    $newairborne = $airborne->newAirborne($request, $id);

    return redirect('/testing/' . $id . '/airbornes/' . $newairborne)->with(['id' => $id, 'airborneid' => $newairborne]);
}
查看

<form class="sisform" role="form" method="POST" href="{{ URL::to('AirborneController@create', $id) }}">
    {{ csrf_field() }}
    {!! Form::token(); !!}
    <button type="submit" name="submit" value="submit" class="btn btn-success">
        <i class="fas fa-plus fa-sm"></i> Create
    </button>
</form>

{{csrf_field()}}
{!!Form::token();!!}
创造

方法不允许HttpException
指示您的路由不可用于指定的HTTP请求方法。可能是因为它没有正确定义,或者它与另一个类似命名的路由冲突

命名路由

考虑使用命名路由,以便方便地生成URL或重定向。它们通常更容易维护

Route::post('/airboard/create/testing/{id})[
'作为'=>'机载。创建',
'使用'=>'AirborneController@create'
]);
Laravel Collective

使用Laravel Collective的表单:打开标记并删除表单::标记()

列出可用路线

始终确保定义的路由、视图和操作匹配

php artisan route:list --sort name

据我所知,表单没有href属性。我想你应该写动作,但是写了href。 请在您尝试提交的表单中指定操作属性

<form method="<POST or GET>" action="<to which URL you want to submit the form>">
然后提交一个没有action属性的表单。它会将表单提交到它当前所在的同一个路由,它会查找具有相同路由的post方法,但您没有具有post方法的相同路由。因此,您将获得MethodNotAllowed异常

使用post方法定义相同的路由,或者显式指定HTML表单标记的操作属性

假设您有一个定义如下的路由来提交表单

Route::post('/airbornes/create', [
        'uses' => 'AirborneController@create'
        'as' => 'airborne.create'
    ]);
所以你的表单标签应该是

<form method="POST" action="{{ route('airborne.create') }}">
//your HTML here
</form>

//你的HTML在这里

首先
表单没有href属性,它有“
action


哪条路线有405路?帖子或重定向?删除
{!!Form::token();!!}
<form method="POST" ></form>
Route::get('/airbornes/show', [
    'uses' => 'AirborneController@show'
    'as' => 'airborne.show'
]);
Route::post('/airbornes/create', [
        'uses' => 'AirborneController@create'
        'as' => 'airborne.create'
    ]);
<form method="POST" action="{{ route('airborne.create') }}">
//your HTML here
</form>
<form class="sisform" role="form" method="POST" action="{{ URL::to('AirborneController@create', $id) }}">
Route::post('/testing/{id}/airbornes/create', [
    'uses' => 'AirborneController@create',
    'as'   => 'airborne.create',         // <---------------
]);
<form class="sisform" role="form" method="POST" action="{{ route('airborne.create', $id) }}">