我想在laravel的post方法中将datatable对象作为参数传递给控制器。我试过了,但没有用,请帮忙。下面是我试过的代码。
Datatable Object
Array
(
[draw] => 1
[columns] => Array
(
[0] => Array
(
[data] => id
[name] =>
[searchable] => true
[orderable] => true
[search] => Array
(
[value] =>
[regex] => false
)
)
[1] => Array
(
[data] => name
[name] =>
[searchable] => true
[orderable] => true
[search] => Array
(
[value] =>
[regex] => false
)
)
)
[order] => Array
(
[0] => Array
(
[column] => 0
[dir] => asc
)
)
[start] => 0
[length] => 10
[search] => Array
(
[value] =>
[regex] => false
)
[_token] => RwkzmLMcy9VW9bzwPN54zv320YsY7Rwbt7sPZCzm
)
下面是Jquery数据表列表工作良好
var oTable = $('#dataTables-baselineComplete').dataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "{!!url('admin/baselinereport')!!}",
"type": "POST",
"data":{"_token": "{{ csrf_token() }}"},
},
"columns": [
{ "data": "id" },
{ "data": "name" },
],
});
我想把这个datatable对象传递给另一个路由函数。请帮助
Html输入
<input type="button" name="search" id="search"/>
Jquery $("#search").click(function(){
$.ajax({
url:'{!!url('admin/sample')!!}',
method:'POST',
data:{"_token": "{{ csrf_token() }}","datatable_object": oTable},
success:function(response){
}
});
});
路线 Route::post('admin/sample','SampleController@sampleFn');
当我点击搜索按钮- ajax调用和post这个数据表对象作为输入到SampleController - sampleFn()。请帮忙提前致谢。
您可以使用ajax.params()
获取DataTables在最后一次Ajax请求中提交给服务器的数据。
因为你已经用dataTable()
而不是DataTable()
初始化你的表,你必须调用这个API方法作为oTable.api().ajax.params()
。
$.ajax({
url:'{!!url('admin/sample')!!}',
method:'POST',
data:{
"_token": "{{ csrf_token() }}",
"datatable_object": oTable.api().ajax.params()
},
success:function(response){
}
});