Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在Laravel 5.4中的Yajra数据表中添加删除按钮_Jquery_Ajax_Datatables_Laravel 5.4_Yajra Datatable - Fatal编程技术网

Jquery 在Laravel 5.4中的Yajra数据表中添加删除按钮

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']);

我现在正在使用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']);
    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!");});