我有一个名为 Lodge.upload 的刀片模板。在该模板中,我有以下代码:
<form name="app" action="storeSummons" enctype="multipart/form-data" method="post">
在我的路线文件中我有这个:
Route::post('/storeSummons',[\App\Http\Controllers\LodgesController::class,'storeSummons'])->name('storeSummons');
当我尝试从这个简单的表单(只有两个字段)发布时,我收到错误
Lodge.uploads/storeSummons 路由不支持 POST 方法。支持的方法:GET、HEAD
该路线明确标记为 storeSummons,没有提及模板名称或其路线。
我已经尝试清除缓存、路由、视图,但它仍然坚持将其添加到路由中。该组仅具有添加中间件的身份验证。
这让我发疯,我检查了路线是否被重复但没有成功。
我将协助您解决 Laravel 应用程序中的“不支持 POST 方法”错误。以下是综合的回应,结合了专家反馈的见解并解决了潜在的原因:
理解错误:
故障排除步骤:
验证路线定义:
Route::post('/storeSummons', ...)
。包含 CSRF 代币:
在表单中添加
@csrf
指令:
<form name="app" action="storeSummons" enctype="multipart/form-data" method="post">@csrf</form>
检查路由缓存:
php artisan route:clear
。回顾中间件:
检查浏览器开发者工具: