我试图从Laravel 9中的数据库中删除,我在刀片php文件中的代码是:
<form action="/waifus/{{ $waifu->id }}" method="POST">
@csrf
@method('DELETE')
<button class="text-red-500"> Delete</button>
</form>我在web文件中的代码是:
// Delete Waifu
Route::delete('/waifus/{waifu}', [WaifuController::class, 'delete']);我在WaifuController中的代码是:
//Delete waifu
public function delete(Waifu $waifu)
{
dd($waifu);
$waifu->delete();
return redirect('/')->with('message', 'Waifu deleted succesfully');
}我所面临的问题是,当我单击表单中的按钮时,它只会用url:"http://localhost:8000/waifus/7?search=&_token=uE61kaZBtkCkZ4oVW8cacld3sbXaWxaJzLRixQ6X&_method=DELETE“重新加载相同的页面,并且它不会转到控制器中的die dump方法,任何帮助都是有意义的。
编辑:添加这样一个新的空表单解决了我的问题,但我仍然不知道为什么,谁能解释一下吗?
<form>
Delete:
</form>
<form action="/waifus/{{ $waifu->id }}" method="POST">
@csrf
@method('DELETE')
<button class="text-red-500"> Delete</button>
</form>发布于 2022-07-06 14:48:07
不能有嵌套的表单元素。将表单放置在主窗体之外,并在其中添加提交删除表单的按钮。
<button type="submit" form="delete_waifu" class="text-red-500"> Delete</button>然后在主窗体之外
<form id="delete_waifu" action="/waifus/{{ $waifu->id }}" method="POST">
@csrf @method('DELETE')
</form>发布于 2022-07-06 13:36:31
<form action="/waifus/{{ $waifu->id }}" method="POST">
@csrf
@method('DELETE')
<button type="submit" class="text-red-500"> Delete</button>
</form>
//Delete
public function delete($waifu)
{
Model::find($waifu)->delete(); // Model name will be your Model name
return redirect('/')->with('message', 'Waifu deleted succesfully');
}发布于 2022-07-06 13:04:26
您必须添加按钮类型,提交喜欢;
<button type="submit" class="text-red-500"> Delete</button>https://stackoverflow.com/questions/72883894
复制相似问题