此路由不支持 POST 方法。支持的方法:GET、HEAD.,但我只能使用 post 方法

问题描述 投票:0回答:2

这是我在刀片文件中使用的代码:

<form action="addTo_cart" method="post">

这是我在web.php中使用的路线

Route::post("/addTo_cart",[ProductController::class, 'addToCart']);

我得到了错误,

该路由不支持POST方法。支持的方法:GET、HEAD。

php laravel routes laravel-blade laravel-routing
2个回答
0
投票

只需像这样初始化你的路线

Route::match(['get',post] , 'View-name' , 'Controller@function-name');

你的路线应该是这样的

Route::match(['get','post'],"/addTo_cart",[ProductController::class, 'addToCart']);


0
投票

首先,我建议您为路线添加一个名称,如下所示

Route::post("/addTo_cart",[ProductController::class, 'addToCart'])->name('cart.addToCart');

之后,我将重写您表单的操作以使用您刚刚添加的路线名称

<form action="{{route('cart.addproduct')}}" method="post">

另外,不要忘记您的 csrf 令牌。 “完成”的表格应该看起来像这样

<form action="{{route('cart.addproduct')}}" method="post">
@csrf
<input name="exampleInput">
<button type="submit">
</form>

还要确保您接受控制器中的请求(示例)

 public function addToCart(Request $request)
 {
        dd($request); //dump the request on the page so you can have a look at it
        //more code
 }
© www.soinside.com 2019 - 2024. All rights reserved.