我如何在删除按钮中定义一个删除方法,它返回我试图删除的内容的id,这意味着它正在使用get



这是索引和销毁函数但是删除按钮不能正常工作只给我一个ID为

的空白页控制器

//这是索引

public function index()
{
if(request()->ajax()) {
return datatables()->of(Aya_div::select('*'))
->addIndexColumn()
->addColumn('action', function ($id) {
$btn = '<a href="'.route("aya_div.show", $id).'" class="edit btn btn-info btn-sm">View</a>';
$btn = $btn.'<a href="'.route("aya_div.edit", $id).'" class="edit btn btn-primary btn-sm">Edit</a>';
$btn = $btn.'<a href="'.route("aya_div.destroy", $id).'" class="edit btn btn-danger btn-sm">Delete</a>';
return $btn;
})
->rawColumns(['action'])
->make(true);
}

return view('aya_div.index');
}

//这是destroy函数

public function destroy($id)
{
$div = Aya_div::find($id);
$div->delete();
return redirect()->route('aya_div.index')->with('successs', 'Data Deleted');
}

我期待在按钮中定义方法的方式

您当前调用的是GET REQUEST,而您需要使用laravel DELETE REQUEST,您可以遵循以下示例:

步骤1:传递data-id= ID

步骤2:调用ajax的delete按钮

完整代码:

<a class="delete" href="javascript:void(0);" data-id="123">Delete</button>

<a class="delete" href="javascript:void(0);" data-id="555">Delete</button>

<script>
$(function () {
$('.delete').on('click', function () {
var id = $(this).attr("data-id");
$.ajax({
type:'POST',
url:'/theURL',
data: {
"id": id,
"_method": 'DELETE',
"_token": '<?php echo csrf_token() ?>',
},
success:function(data){
alert('success');
},
error: function(result) {
alert('error');
}
});
});
});
</script>

如果您单击第一个删除按钮,它将传递ID=123,如果您单击第二个按钮,您将传递ID=555,您也可以使用表完成相同的事情,但希望这可以作为您可以做的足够的参考。

最新更新