Yajra数据表未在数据表中正确加载数据

时间:2018-12-12 06:18:51

标签: php ajax laravel datatables

可能是重复的,但是我没有找到解决问题的合适方法。 实际的问题是ajax调用运行良好,并返回该表的响应数据,但该表始终仅显示正在加载。 这里

  

UserController.php

if($request->ajax())
        {
            $users = User::select('id','name','email','phone','created_at','updated_at')->where('id','!=',Auth::user()->id)->get();

            return DataTables::of($users)
                ->editColumn('action', function ($user) {

                        return ' <a class="icon-color"  href="'.route('users.edit',$user->id).'"><i class="fa fa-edi" aria-hidden="true"></i></a>

                        <a class="icon-color"  href="'.route('users.show',$user->id).'"><i class="fa fa-eye" aria-hidden="true"></i></a>

                        <a class="icon-color"  href="'.route('users.destroy',$user->id).'"><i class="fa fa-trash" aria-hidden="true"></i></a>';

                })
                ->rawColumns(['action'])
                ->make(true);
        }

        return view('manager.users.index');
  

index.blade.php

<table id="users-table" class="table table-striped table-no-bordered table-hover" >
                            <thead style="font-size: 12px;" class="text-primary">
                            <tr>
                                <th style="text-align: center" width="5%">#</th>
                                <th style="text-align: center" width="20%">Name</th>
                                <th style="text-align: center;" width="25%">Email</th>
                                <th style="text-align: center;" width="10%" >Phone</th>
                                <th style="text-align: center;" width="15%" >Created Date</th>
                                <th style="text-align: center;" width="15%" >Updated Date</th>
                                <th style="text-align: center;" width="10%">Action</th>
                            </tr>
                            </thead>

                            <tbody>

                            </tbody>
                        </table>
  

脚本

  $('#users-table').DataTable({
            "lengthMenu": [
                [10, 25, 50, -1],
                [10, 25, 50, "All"]
            ],
            processing: true,
            serverSide: true,
            responsive: true,

            ajax:{
                url:"{{route('users.index')}}",
                type:'get',
                success:function(xhr){
                    toastr.success('Completed!')
                                        }
            },
            columns: [
                {data:'id',name:'id'},
                {data: 'name', name: 'name'},
                {data: 'email', email: 'email'},
                {data: 'phone', name: 'phone'},
                {data: 'created_at', name: 'created_at'},
                {data: 'updated_at', name: 'updated_at'},
                {data: 'action', searchable:false},

            ],
            "order":[[0,'desc']]
        });

在这里,我捕获了缺少请求响应的屏幕 enter image description here

任何能够找到解决方案的人..任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:1)

更改ajax调用,并从ajax中删除 type 成功属性。

ajax:{
   url:"{{route('users.index')}}",
   type:'get',
   success:function(xhr){
     toastr.success('Completed!')
   }
},

进入

ajax: '{{ route('users.index') }}',

我希望这会有所帮助。其余代码是正确的。

答案 1 :(得分:1)

$('#users-table').DataTable({
            "lengthMenu": [
                [10, 25, 50, -1],
                [10, 25, 50, "All"]
            ],
            processing: true,
            serverSide: true,

            ajax:{
                url:"{{route('users.index')}}",
            },
            columns: [
                {data: 'id', name:'id'},
                {data: 'name', name: 'name'},
                {data: 'email', name: 'email'},
                {data: 'created_at', name: 'created_at'},
                {data: 'updated_at', name: 'updated_at'},
                {data: 'action'},

            ],
            "order":[[0,'desc']]
        });
  

与ajax调用有关的问题