【问题标题】:The POST method is not supported for this route. Supported methods: GET, HEAD., but i have to use post method only此路由不支持 POST 方法。支持的方法:GET、HEAD。但我只能使用 post 方法
【发布时间】:2021-08-31 23:46:46
【问题描述】:

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

<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


【解决方案1】:

像这样初始化你的路线

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

你的路线应该是这样的

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

【讨论】:

    【解决方案2】:

    首先,我建议您像这样为您的路线添加一个名称

    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
     }
    

    【讨论】:

      猜你喜欢
      • 2019-08-28
      • 2019-08-31
      • 2021-05-05
      • 1970-01-01
      • 2019-12-29
      • 2020-06-05
      • 2020-05-27
      • 2020-04-19
      相关资源
      最近更新 更多