laravel表单删除请求不起作用

问题描述 投票:1回答:1

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

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

这是我的路线:

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

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

forms laravel laravel-5 request http-delete
1个回答
2
投票

您的一个问题可能是您在表单中拼写错误的“产品”。如果这不是问题,可以尝试以下方法。

在您的路线文件中。把我提供的路线放在你的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),您可以随意使用该产品。

我希望这就是你要找的东西。

© www.soinside.com 2019 - 2024. All rights reserved.