此路由不支持 GET 方法。支持的方法:POST。拉拉维尔 8
Posted
技术标签:
【中文标题】此路由不支持 GET 方法。支持的方法:POST。拉拉维尔 8【英文标题】:The GET method is not supported for this route. Supported methods: POST. laravel 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'])->name('userregister');
我已经按照你说的更改了我的路线名称,但仍然显示相同的错误
您需要提供更多信息并进行一些调试。 Route 生成什么 URL?您是否尝试过使用手动编码的路线并查看它是否有效,.env 中的 appurl 设置为什么?您是否为您的网站设置了 www 或 http/s 的重定向 - 所有这些都可能影响您的问题。您需要提供更多信息。
【参考方案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;
【讨论】:
我试过这段代码,但它不起作用。发生同样的错误 您能否更新您的整个代码,以便我识别以上是关于此路由不支持 GET 方法。支持的方法:POST。拉拉维尔 8的主要内容,如果未能解决你的问题,请参考以下文章
错误:此路由不支持 POST 方法。支持的方法:GET、HEAD。 - 使用 laravel livewire
此路由不支持 GET 方法。支持的方法:POST。拉拉维尔 8
此路由不支持 POST 方法。支持的方法:GET、HEAD。",...
此路由不支持 PUT 方法。支持的方法:GET、HEAD、POST。在 laravel 中