可能是重复的,但是我没有找到解决问题的合适方法。 实际的问题是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']]
});
任何能够找到解决方案的人..任何帮助将不胜感激。谢谢。
答案 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调用有关的问题