此路由不支持我的GET方法。 (删除)Laravel 5.8

问题描述 投票:-1回答:2

我有数据表yajra的表视图。在我使用datatable之前我的删除是正常的,但在使用数据表之后,我的删除有这样的错误

此路由不支持GET方法。支持的方法:DELETE。

我使用路由删除,但它没有工作。你能纠正我的代码吗?

视图

 <div class="box-body table-responsive no-padding">
            <table class="table table-hover" id="table">
              <tbody><tr>
                <thead>
                {{--  <th>No</th>  --}}
                <th>Nama Alat</th>
                <th>Waktu</th>
                <th>User Input</th>
                <th>Action</th>
                <th>Edit</th>
                <th>Hapus</th>
                <th>Tanggal</th>
                </thead>
               </tr>


@push('scripts')
    <script>
        $(function () {
            $('#table').DataTable({
                processing: true,
                serverSide: true,
                responsive: true,
                ajax: '{!! route('adminshow1dt') !!}',
                columns: [

                    {data: 'alat.nama_alat', name: 'alat.nama_alat'},
                    {data: 'status', name: 'pemeliharaan.status'},
                    {data: 'user.name', name: 'user.name'},
                    {data: 'action', name: 'action', orderable: false, searchable: false},
                    {data: 'edit', name: 'edit', orderable: false, searchable: false},
                    {data: 'hapus', name: 'hapus', orderable: false, searchable: false},
                    {data: 'created_at', name: 'created_at'},

                ],
            });
        })
    </script>
@endpush

我的控制器和路线

public function show()
{
    // $pemeliharaan = Pemeliharaan::all();
    // $pemeliharaan = Pemeliharaan::find($id);
    $pemeliharaan = Pemeliharaan::with(['user', 'alat'])->where('status', 'harian')->get();

    return view('admin.view_harian', ['pemeliharaan' => $pemeliharaan]);
}

public function indexDataTablesh()
{
    $pemeliharaan = Pemeliharaan::with(['user', 'alat'])->where('status', 'harian')->get();

    return Datatables::of($pemeliharaan)
        ->addColumn('action', function ($pemeliharaan) {
            return '<a href="/admin/show/question/' . $pemeliharaan->id . '" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-eye-open"></i> View Data</a>';
        })
        ->editColumn('edit', function ($pemeliharaan) {
            return '<a href="/admin/' . $pemeliharaan->id . '/edit_harian" class="btn btn-xs btn-success"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
        })
        ->editColumn('hapus', function ($pemeliharaan) {
            return '<a href="/admin/delete1/' . $pemeliharaan->id . '" class="btn btn-xs btn-danger"><i class="glyphicon glyphicon-remove-circle"></i> Hapus</a>';
        })
        ->rawColumns(['hapus' => 'hapus', 'action' => 'action', 'edit' => 'edit'])
        ->make(true);
}

路线

Route::delete('/admin/delete1/{id}', 'adminController@destroy1' )->name('delete1');
Route::get('admin/show1', 'adminController@show')->name('adminshow1');
Route::get('admin/show1-dt', 'adminController@indexDataTablesh')->name('adminshow1dt');

你能纠正这个代码吗?

laravel
2个回答
0
投票

尝试将表单添加到您的操作列,请注意我们有method_field“delete”和csrf_field

 $c = csrf_field();
                $m = method_field('DELETE');

         return "<form action='admin/delete1/$pemeliharaan->id' method='POST'>
                      $c
                    $m

                    <button style='margin-left:10px; width: 150px;' type='submit'
                            class='btn btn-xs btn-danger'>
                        <i class='glyphicon glyphicon-remove-circle'></i> Hapus
                    </button>
                </form>"

0
投票

yaa,好吧我得到了它实际上a标签不支持删除方法如果你想使用删除方法然后你必须使用form否则使用a标签中的get方法。

Route::get('/admin/delete1/{id}', 'adminController@destroy1' )->name('delete1');

希望这可以帮助 :)

© www.soinside.com 2019 - 2024. All rights reserved.