如何将ID从ajax传递到控制器 - Laravel&Ajax
目前,我在显示页面上,我正在运行功能show
在我的控制器中,所以我的网址在url地址栏中显示为dashboard/1/people
。现在,当我点击一个人时,它会路由到一个不同的页面,这就是调用getPeople
的地方。如何将ID从ajax传递到控制器 - Laravel&Ajax
我怎样才能得到我点击的人的身份证号码是1
来自scripts
中的ajax请求并传递给我的控制器?
PS:目前,我已经硬编码在Ajax请求1
但我希望它是动态的,请
我要如何做?
脚本
datatable = $('#table').DataTable({ "ajax": "{{ route('dashboard/1/people') }}",
"columns": [
{data: 'check', name: 'check'},
],
控制器
public function show($id) {
$class = Class::whereId($id)->first();
return view('show');
}
public function getPeople($id)
{
$get_id = $id;
$class = Class::whereId($get_id)->first();
$people = $class->peoples()->get();
return Datatables::of($people)->addColumn('action', function ($ppl) {
//return
})->make(true);
}
回答:
这应该工作:
在你getPeople
方法商店的ID在session
变量:
public function getPeople($id) {
$get_id = $id;
//using session helper method
session(['show_id' => $id]);
$class = Class::whereId($get_id)->first();
$people = $class->peoples()->get();
return Datatables::of($people)->addColumn('action', function ($ppl) {
//return
})->make(true);
}
,然后访问它在你的Ajax代码:
datatable = $('#table').DataTable({ "ajax": "{{ route('dashboard/'.session('show_id').'/people') }}",
"columns": [
{data: 'check', name: 'check'},
],
回答:
的DataTable Ajax允许哟传递对象格式额外的参数,就像这样:
datatable = $('#table').DataTable({ "ajax": {
"type": "GET",
data:{id: my_id_var},
"url": "my_route"
}
}
而在你的功能只是获取请求变种
public function getPeople(Request $request){ $get_id = $request->id;
$class = Class::whereId($get_id)->first();
$people = $class->peoples()->get();
return Datatables::of($people)->addColumn('action', function ($ppl) {
//return
})->make(true);
}
更多的信息在Sorce Page
以上是 如何将ID从ajax传递到控制器 - Laravel&Ajax 的全部内容, 来源链接: utcz.com/qa/265600.html