我希望将数据表对象作为参数传递给laravel中的post方法中的控制器。我试过但它不起作用,请帮忙。以下是我尝试的代码。
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
)
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" },
],
});
我想将此数据表对象传递给另一个路由函数。请帮忙
<input type="button" name="search" id="search"/>
$("#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调用并将此数据表对象作为输入发布到该SampleController - sampleFn()时。请提前帮助谢谢。
答案 0 :(得分:2)
您可以使用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){
}
});