【问题标题】:The GET method is not supported for this route. Supported methods: PUT. on laravel此路由不支持 GET 方法。支持的方法:PUT。在 laravel 上
【发布时间】:2022-01-11 16:51:45
【问题描述】:

我尝试创建一个函数来更新密码。

在我的控制器中:

public function updatePassword($id) 
{
    $user = User::find($id);

    dd($user);
}

我的按钮打开我的页面以更新密码

<div class="float-end">
    <form method="POST" action="myRoute.updatePassword">
        @csrf
        @method('PUT')
                    
        <button type="submit" class="btn btn-primary">
            Modifier le mot de passe
        </button>
    </form>
</div>

还有我的路线:

Route::put('admin/update_password/{id}','MyController@updatePassword')->name('myRoute.updatePassword');

当我点击按钮时,我有这个错误:

The GET method is not supported for this route. Supported methods: PUT.

感谢您的帮助!

【问题讨论】:

  • Welcome to SO ...您没有为表单操作输入 URL("myRoute.updatePassword" 不是您的路由的 URI)...您想使用的路由接受一个参数...你有一些 Javascript 在这里玩吗?

标签: laravel routes


【解决方案1】:

您的表单操作:

<form method="POST" action="myRoute.updatePassword">

应该是:

<form method="POST" action="{{ route('myRoute.updatePassword', $userId) }}">

您应该将 Id 作为参数传递,因为这在您的路由和 updatePassword 方法中是预期的。

您可以在文档中查看有关 Laravel 路由的更多信息:https://laravel.com/docs/8.x/routing

【讨论】:

  • 谢谢! :) 我忘记了身份证
【解决方案2】:
<form method="POST" action="myRoute.updatePassword">

应该是

<form method="POST" action="{{ route('myRoute.updatePassword') }}">

更多信息:https://laravel.com/docs/8.x/urls#urls-for-named-routes

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 2020-02-16
    • 2021-09-12
    • 2019-12-29
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多