gpt4 book ai didi

php - Laravel 异常 405 方法不允许

转载 作者:可可西里 更新时间:2023-11-01 01:11:41 25 4
gpt4 key购买 nike

我正在尝试在我的程序中创建一个新的“Airborne”测试并收到 405 MethodNotAllowed 异常。

路线

Route::post('/testing/{id}/airbornes/create', [
'uses' => 'AirborneController@create'
]);

Controller

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>

最佳答案

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

<form method="<POST or GET>" action="<to which URL you want to submit the form>">

在你的情况下是

<form method="POST" ></form>

并且缺少 action 属性。如果 action 属性缺失或设置为“”(空字符串),表单将提交给自身(相同的 URL)。

例如,您定义了显示表单的路由

Route::get('/airbornes/show', [
'uses' => 'AirborneController@show'
'as' => 'airborne.show'
]);

然后你提交一个没有 action 属性的表单。它会将表单提交到当前所在的同一路线,并且会寻找具有相同路线的 post 方法,但您没有与 POST 方法相同的路线。所以你得到 MethodNotAllowed 异常。

要么使用 post 方法定义相同的路由,要么显式指定 HTML 表单标签的 action 属性。

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

Route::post('/airbornes/create', [
'uses' => 'AirborneController@create'
'as' => 'airborne.create'
]);

所以你的表单标签应该是这样的

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

关于php - Laravel 异常 405 方法不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53674329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com