laravel 8 module form error此路由不支持POST方法.支持的方法:GET、HEAD



**我对路由和如何指定路径感到困惑。**web.php-这个路由在我的模块events

<?php
use IlluminateSupportFacadesRoute;
Route::prefix('event')->group(function() {
Route::get('/create', 'EventController@index');
});

Route::post('/create', 'EventController@store');

blade file-我有一个表单调用create

<form class="form-horizontal" action="../create" enctype="multipart/form-data" method="post">

**控制器-这里在存储方法中,我存储从用户和数据库中获取值**

function store(StoreCompanyRequest $req)
{
//
$req->validate([
'name'=>'required',
'title'=>'required',
'description'=>'required',
'category'=>'required',
'sdate'=>'required',
'edate'=>'required',
'address_address'=>'required',
'address_latitude'=>'required',
'address_longitude'=>'required',
'images' => 'required',
'images.*' => 'mimes:jpeg,jpg,png,gif,csv,txt,pdf|max:2048'
]);
abort_unless(Gate::allows('company_create'), 403);
if($req->hasfile('images')) {
foreach($req->file('images') as $file)
{
$image_name = $file->getClientOriginalName();
$file->move(public_path().'/uploads/', $image_name);
$imgData[] = $image_name;
}
$event = new Event;
$event->name=$req->name;
$event->save();
return view('/home');
}
}

尝试在表单中使用action="/create":

<form class="form-horizontal" action="/create" enctype="multipart/form-data" method="post">

我不使用PHP,也没有使用Laravel的经验,但我可以看到你正在为POST /create端点创建路由。对于当前的表单对象,你可以用一个相对URL来引用路由操作。因此,如果表单位于/path/to/form路由下的页面上,那么表单提交将导致调用POST /path/to/create路由而不是(可能)预期的POST /create路由。

相关内容

最新更新