【问题标题】:The GET method is not supported for this route. Supported methods: POST. laravel 8此路由不支持 GET 方法。支持的方法:POST。拉拉维尔 8
【发布时间】:2021-09-14 07:13:00
【问题描述】:

我是 Laravel 的新手。我正在 Laravel 中制作注册表单。当我使用Route::post() 并在我的控制器中创建此功能时,它给了我错误。

    <form action="{{route('userregister')}}" method="post">

    Route::post('/userregister',[Logincontroller::class,'userregister']);

这是我的函数用户注册

    public function userregister(Request $request)
    {
        echo 'value posted';
    }

【问题讨论】:

  • 发布完整代码,而不是片段。
  • route('userregister') 是您将 named route 解析为 URL 的方式,但您尚未为路由命名。 userregister 是控制器方法,而不是名称。
  • 只需更改路线,将路线name添加为Route::post('/userregister',[Logincontroller::class,'userregister'])-&gt;name('userregister');
  • 我已经按照你说的更改了我的路线名称,但仍然显示相同的错误
  • 您需要提供更多信息并进行一些调试。 Route 生成什么 URL?您是否尝试过使用手动编码的路线并查看它是否有效,.env 中的 appurl 设置为什么?您是否为您的网站设置了 www 或 http/s 的重定向 - 所有这些都可能影响您的问题。您需要提供更多信息。

标签: php laravel routes controller laravel-routing


【解决方案1】:

试试下面的代码,

在你的刀片文件中

<form action="{{ route('user-register') }}" method="POST">
    {{ @csrf_field() }}
</form>

在您的路线文件中 由于 laravel 版本使用不同的语法,请参阅路由文档

Route::post('/userregister',[Logincontroller::class,'userregister'])->name('user-register);

在你的控制器文件中

public function userregister(Request $request)
{
    var_dump($request);
    exit;
}

【讨论】:

  • 我试过这段代码,但它不起作用。发生同样的错误
  • 您能否更新您的整个代码,以便我识别
猜你喜欢
  • 1970-01-01
  • 2019-08-06
  • 2021-01-19
  • 1970-01-01
  • 1970-01-01
  • 2023-02-04
  • 2020-06-13
  • 2021-08-05
  • 2021-01-10
相关资源
最近更新 更多