php - Laravel 路由发布方法失败

标签 php laravel post router

这是我的 html 表单; <form action="{{url('admin/users/update/'.$user->id)}}" method="post"> {{csrf_field()}} {{method_field('put')}}

这是我的路由器; Route::post('users/update/{id}', 'UsersController@update');

这是我的 Controller

 public function update($id)
{
    //$id=$_POST['id'];
    $user = \App\User::find($id);
    $user->email = $_POST['email'];
    $user->name = $_POST['name'];
    if ($_POST['password'] != '') {
        $user->password = Hash::make($_POST['password']);

    }
    $user->user_level = $_POST['user_level'];
    $user->location =$_POST['location'];
    $user->gender = $_POST['gender'];
    $user->save();

我的代码不起作用。我该如何解决?错误是 Symphony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 无消息

最佳答案

您需要删除{{method_field ('put')}}。因为这段代码意味着您的表单是通过 put 方法发送的,而路由器中没有 put。

解决方案 1. 删除 {{method_field ('put')}}

解决方案 2. 将路由器定义更改为:

Route::put('users/update/{id}', 'UsersController@update');

关于php - Laravel 路由发布方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50388520/

相关文章:

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - 如何进行非缓存 301 重定向?

php - 由 Composer 集成的 TCPDF 似乎无法加载

php - 如何将 join 查询转换为 laravel eloquent 查询

java - Jmeter API : how to add post data to httpsampler

python - Laravel + Python 请求不起作用,但在 Postman 中它起作用

PHP:MY​​SQL 到文本框

Laravel 地平线 : items no longer queued for no obvious reason

javascript - 我可以在 Blade 模板中获取由 javascript 本地化的值吗?

java - 如何使用 Java 以编程方式登录 Facebook?