laravel表单删除请求不起作用

时间:2018-04-15 09:47:36

标签: forms laravel laravel-5 request http-delete

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

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

这是我的路线:

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

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

1 个答案:

答案 0 :(得分: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),您可以随意使用该产品。

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