laravel 表单删除请求无效

laravel form delete request not working

只是从表单中发出删除请求但不起作用。你能帮忙吗?

<form method="POST" action="/products/{{ $produit->id }}"> 
    @csrf
    @method('DELETE')
    <button type="submit">delete</button>

这是我的路线:

Route::delete('/products/{del}',function($del){
    return $del.' deleted';
});

这没有错误,我只有一个空白页

您的问题之一可能是您在表单中拼写 "product" 错误。如果那不是问题,也许可以尝试以下操作。

在你的路由文件中。将我提供的路线放在您的 web.php 下方的几行中。如果您还没有 ProductController。您可以通过在控制台中执行 php artisan make:controller ProductController --resource 轻松创建一个

将此路由放入您的 web.php 文件中以处理请求。

Route::delete('/products/{id}/delete', 'ProductController@destroy')->name('deleteProduct');

现在,如果你正确地制定了路线,你可以在你的表格中做这样的事情'

<form method="POST" action="{{ route('deleteProduct', ['id' => $product->id]) }}">
  {{ csrf_field() }}
  {{ method_field('DELETE') }}

  <button type="submit">Delete</button>
</form>

这是将所选产品的 ID 传递到路由并传递到 productController 的 destroy 方法。然后在你的产品控制器中(假设你有一个产品模型)你可以做 $product = Product::find($id) 并且你可以对产品做任何你想做的事情。

希望这就是您要找的。