MethodNotAllowedHttpException Laravel 方法 PUT 不工作

MethodNotAllowedHttpException Laravel method PUT not working

基本上我正在使用如下所示的模态对话框,我正在尝试使 PUT 方法起作用。不幸的是,我已经尝试过 _method="PUT" 的任何一种方法,但它仍然不起作用,有人对此有解决方案吗?

<div class="modal-body">
                  <form class="form-horizontal" role="form" method="POST" _method="PUT" action="/manage_accounts/{{ $user->id }}" novalidate>
                   <input type="hidden" name="_token" value="{{ csrf_token() }}">
                   <div class="form-group">

您可能正在使用 GET 路由。

确保“/manage_accounts/{id}”路由在您的路由文件中设置为 PUT。

Route::put('/manage_accounts/{id}', function()
{
    //
}); 

问题是 HTML 本身不支持 PUT 方法,所以你不能这样做:

<form method="PUT"...

有一个解决方法。 Laravel 通过添加隐藏的输入字段接受 PUT、PATCH 和 DELETE 方法。换句话说,像这样:

<form class="form-horizontal" role="form" method="POST" action="/manage_accounts/{{ $user->id }}" novalidate>
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">

请注意,您正在 POST 访问服务器,但您可以为 PUT、PATCH 和 DELETE 方法添加名为 _method 的隐藏输入字段。