我正在尝试通过数据表删除按钮删除数据。但我收到错误。
我已创建路线为::
Route::resource('dealers', DealerController::class);
我的控制器功能::
public function destroy($id ): JsonResponse
{
// removed the code block
}
php artisan 路线的输出:列表
DELETE dealers/{dealer} ........... dealers.destroy › Dealers\DealerController@destroy
blade php页面的ajax代码块
$(document).on('click','.deleteProduct', function(e){
e.preventDefault();
var id = $(this).data("id");
confirm("Are You sure want to delete?");
$.ajax({
type: "POST",
url: "{{ route('dealers.destroy') }}"+'/'+id,
// data: data,
// dataType: 'json',
success: function (data) {
var oTable = $('#dealerTabel').dataTable();
oTable.fnDraw(false);
},
error: function (data) {
console.log('Error:', data);
}
});
当我尝试加载页面时,它显示错误为::
Missing required parameter for [Route: dealers.destroy] [URI: dealers/{dealer}] [Missing parameter: dealer].
问题出在您的 AJAX 请求上。您正在使用
{{ route('dealers.destroy') }}
生成 URL,但您没有正确地将 id
附加到 URL。
发出 AJAX 请求时,您需要在 URL 中包含 id。修改您的 AJAX 代码如下:
$(document).on('click','.deleteProduct', function(e){
e.preventDefault();
var id = $(this).data("id");
confirm("Are You sure want to delete?");
$.ajax({
type: "DELETE", // Use DELETE method for deleting
url: "{{ route('dealers.destroy', $id) }}", // Pass the id to the route
// data: data,
// dataType: 'json',
success: function (data) {
var oTable = $('#dealerTabel').dataTable();
oTable.fnDraw(false);
},
error: function (data) {
console.log('Error:', data);
}
});
});