通过ajax将laravel查询结果传递给blade
我想知道在成功后如何将laravel查询结果传递回ajax函数。我读过一些关于json编码的书,但是我有点困惑,因为我不太熟悉json AJAX 控制器 看法通过ajax将laravel查询结果传递给blade,ajax,laravel,Ajax,Laravel,我想知道在成功后如何将laravel查询结果传递回ajax函数。我读过一些关于json编码的书,但是我有点困惑,因为我不太熟悉json AJAX 控制器 看法 @foreach($users作为$user) {{$user->department} {{$user->position} @如果($user->status==0) 活跃的 @elseif($user->status==1) 休假 @elseif($user->status==2) 已退休的 @否则 结束 @恩迪夫 @如果($us
@foreach($users作为$user)
{{$user->department}
{{$user->position}
@如果($user->status==0)
活跃的
@elseif($user->status==1)
休假
@elseif($user->status==2)
已退休的
@否则
结束
@恩迪夫
@如果($user->status==2 | |$user->status==3)
更新工资单
@否则
更新工资单
@恩迪夫
@endforeach
{{$users->links()}
第一次加载页面时(即在服务器上呈现页面)将使用Blade,只有在重新加载页面时,它才会再次运行,这与您尝试使用ajax所做的相反,即在不重新加载页面的情况下与服务器交互
在ajax成功调用中,您要做的是用javascript为表体的内容以及从服务器响应中获得的数据构造HTML
这个软件包已经为您完成了所有繁重的工作,当然,自己学习如何完成它会很好 您需要将
视图
返回到ajax,而不是从控制器返回集合$users
,因此将控制器方法的返回更改为
return $users;
到
JSON与Javascript的符号几乎相同(毕竟它的名字意味着Javascript对象符号),控制器应该生成一个PHP对象,然后发送它。然后从JS开始,您只需将它作为一个对象来生成html。要生成HTML,我建议您使用模板引擎。像您这样放置HTML可能会很危险,因为它会使您暴露在
function filterUsers(Request $request) {
$selected = $request->selected;
if ($selected == 0) {
$users = DB::table('users')->paginate(15);
} elseif ($selected == 1){
$users = DB::table('users')
->where('status', '=', '0')
->orWhere('status', '=', '1')
->paginate(15);
} else {
$users = DB::table('users')
->where('status', '=', '2')
->orWhere('status', '=', '3')
->paginate(15);
}
return $users;
<tbody id="usersViewBody">
@foreach($users as $user)
<tr>
<td><a data-uid="{{$user->id}}" class="openUserPanel" href="#tabUserInfo"> {{$user->name}}</a></td>
<td>{{$user->department}}</td>
<td>{{$user->position}}</td>
@if($user->status == 0)
<td class="userActive">Active</td>
@elseif($user->status == 1)
<td class="userOOO">On Leave</td>
@elseif($user->status == 2)
<td class="userInactive">Retired</td>
@else
<td class="userInactive">Terminated</td>
@endif
@if($user->status == 2 || $user->status == 3)
<td><button class="btn btn-xs btn-default payrollModalTrigger disabled" data-uid="{{$user->id}}">Update Payroll</button></td>
@else
<td><button class="btn btn-xs btn-default payrollModalTrigger" data-uid="{{$user->id}}">Update Payroll</button></td>
@endif
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="text-center">
{{ $users->links() }}
</div>
return $users;
return view('name of the view', compact('users'));