Jquery 在Laravel 5.4中的Yajra数据表中添加删除按钮
我现在正在使用Laravel5.4和Yajra数据表插件。一切正常,但删除不起作用。我的网址是这样的。。。 ('admin.faculty.destroy',%20$faculties-%3Eid)%20%7D%7D 这是我的控制器:Jquery 在Laravel 5.4中的Yajra数据表中添加删除按钮,jquery,ajax,datatables,laravel-5.4,yajra-datatable,Jquery,Ajax,Datatables,Laravel 5.4,Yajra Datatable,我现在正在使用Laravel5.4和Yajra数据表插件。一切正常,但删除不起作用。我的网址是这样的。。。 ('admin.faculty.destroy',%20$faculties-%3Eid)%20%7D%7D 这是我的控制器: public function getFacultiesData() { $faculties = faculty::select(['id','name','designation','email','mobile', 'updated_at']);
public function getFacultiesData()
{
$faculties = faculty::select(['id','name','designation','email','mobile', 'updated_at']);
return Datatables::of($faculties)
->addColumn('action', function ($faculties) {
return '<a href="/admin/faculty/'.$faculties->id.'/edit" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>
<form class="form-group" action="{{ route(\'admin.faculty.destroy\', $faculties->id) }}" method="POST">
<input type="hidden" name="_method" value="DELETE">
<button class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-trash"></i>Delete</button>
</form> ';})
->editColumn('updated_at', function ($faculties) {
return $faculties->updated_at->diffForHumans();
})
->filterColumn('updated_at', function ($query, $keyword) {
$query->whereRaw("DATE_FORMAT(updated_at,'%Y/%m/%d') like ?", ["%$keyword%"]);
})
->make(true);
}
编辑工作正常我已经解决了它。在控制器中,我只使用
Delete
而不是form。并在查看页面上使用ajax调用
$('#faculties-table').on('click', '.btn-delete[data-remote]', function (e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var url = $(this).data('remote');
// confirm then
if (confirm('Are you sure you want to delete this?')) {
$.ajax({
url: url,
type: 'DELETE',
dataType: 'json',
data: {method: '_DELETE', submit: true}
}).always(function (data) {
$('#faculties-table').DataTable().draw(false);
});
}else
alert("You have cancelled!");
});
我已经解决了。在控制器中,我只使用
Delete
而不是form。并在查看页面上使用ajax调用
$('#faculties-table').on('click', '.btn-delete[data-remote]', function (e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var url = $(this).data('remote');
// confirm then
if (confirm('Are you sure you want to delete this?')) {
$.ajax({
url: url,
type: 'DELETE',
dataType: 'json',
data: {method: '_DELETE', submit: true}
}).always(function (data) {
$('#faculties-table').DataTable().draw(false);
});
}else
alert("You have cancelled!");
});
你可以试试这个。只需删除表单并用此代码替换即可
<a href="'. route('admin.faculty.destroy', $faculties->id) .'" class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-trash"></i> Delete</a>
您的api控制器必须是这样的
public function getFacultiesData()
{
$faculties = faculty::select(['id','name','designation','email','mobile', 'updated_at']);
return Datatables::of($faculties)
->addColumn('action', function ($faculties) {
return '<a href="/admin/faculty/'.$faculties->id.'/edit" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>
<a href="'. route('admin.faculty.destroy', $faculties->id) .'" class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-trash"></i> Delete</a> ';
})
->editColumn('updated_at', function ($faculties) {
return $faculties->updated_at->diffForHumans();
})
->filterColumn('updated_at', function ($query, $keyword) {
$query->whereRaw("DATE_FORMAT(updated_at,'%Y/%m/%d') like ?", ["%$keyword%"]);
})
->make(true);
}
公共函数getFacultiesData()
{
$faculties=faculties::select(['id','name','designation','email','mobile','updated_at']);
返回数据表::of($faculties)
->addColumn('action',函数($faculties){
返回'
';
})
->editColumn('Update_at',函数($faculties){
返回$faculties->updated_at->diffForHumans();
})
->filterColumn('updated_at',function($query,$keyword){
$query->WHERRAW(“日期格式(更新于,'%Y/%m/%d')类似?”,[“%$关键字%”]);
})
->使(真实);
}
你可以试试这个。只需删除表单并用此代码替换即可
<a href="'. route('admin.faculty.destroy', $faculties->id) .'" class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-trash"></i> Delete</a>
您的api控制器必须是这样的
public function getFacultiesData()
{
$faculties = faculty::select(['id','name','designation','email','mobile', 'updated_at']);
return Datatables::of($faculties)
->addColumn('action', function ($faculties) {
return '<a href="/admin/faculty/'.$faculties->id.'/edit" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>
<a href="'. route('admin.faculty.destroy', $faculties->id) .'" class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-trash"></i> Delete</a> ';
})
->editColumn('updated_at', function ($faculties) {
return $faculties->updated_at->diffForHumans();
})
->filterColumn('updated_at', function ($query, $keyword) {
$query->whereRaw("DATE_FORMAT(updated_at,'%Y/%m/%d') like ?", ["%$keyword%"]);
})
->make(true);
}
公共函数getFacultiesData()
{
$faculties=faculties::select(['id','name','designation','email','mobile','updated_at']);
返回数据表::of($faculties)
->addColumn('action',函数($faculties){
返回'
';
})
->editColumn('Update_at',函数($faculties){
返回$faculties->updated_at->diffForHumans();
})
->filterColumn('updated_at',function($query,$keyword){
$query->WHERRAW(“日期格式(更新于,'%Y/%m/%d')类似?”,[“%$关键字%”]);
})
->使(真实);
}
基于@Shaikhul Saad答案
它在xampp和专用主机上工作,但在linux共享主机上,这种方法不起作用
1-将类型从删除更改为发布
2-将方法更改为_方法
3-将_DELETE更改为DELETE
下面的代码为我工作
$('#faculties-table').on('click', '.btn-delete[data-remote]', function (e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var url = $(this).data('remote');
// confirm then
if (confirm('Are you sure you want to delete this?')) {
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: {_method: 'DELETE'}
}).always(function (data) {
$('#faculties-table').DataTable().draw(false);
});
}else
alert("You have cancelled!");});
基于@Shaikhul Saad回答
它在xampp和专用主机上工作,但在linux共享主机上,这种方法不起作用
1-将类型从删除更改为发布
2-将方法更改为_方法
3-将_DELETE更改为DELETE
下面的代码为我工作
$('#faculties-table').on('click', '.btn-delete[data-remote]', function (e) {
e.preventDefault();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var url = $(this).data('remote');
// confirm then
if (confirm('Are you sure you want to delete this?')) {
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
data: {_method: 'DELETE'}
}).always(function (data) {
$('#faculties-table').DataTable().draw(false);
});
}else
alert("You have cancelled!");});