我们正在一个新项目中使用数据表,由于我们正在处理大量数据,我们正在使用数据表的服务器端处理。但现在我们正在尝试找出如何获取所有数据通过数据表从服务器获取数据。当我使用自定义 HTTP 变量服务器端处理时,当我查看返回的数据时,没有来自数据库的值。我如何访问数据?请帮忙。多谢。这是我的代码
javascript:
$('#table-prod-contents').DataTable({
processing: true,
serverSide: true,
ajax: $.fn.dataTable.pipeline( {
url: '{{ url("postproductsdata") }}',
pages: 6000, // number of pages to cache
"data": function ( d ) {
console.log(d);
}
} ),
columns: [
{data: 'id', name: 'id'},
{data: 'category', name: 'category'},
{data: 'pharmaceutical', name: 'pharmaceutical'},
{data: 'description', name: 'description'},
{data: 'type', name: 'type'},
{data: 'unit', name: 'unit'},
{data: 'price', name: 'price'},
{data: 'created_at', name: 'created_at'},
],
});
控制台、日志只显示下图所示的数据:
当我查看对象内部时,没有 id 值。类似于 id: 31
Controller .php
public function anyData()
{
$conditionTxt = "Medical and Lab Supplies";
$products = Product::where('category', 'ILIKE', '%'.$conditionTxt.'%')
->orderBy('created_at', 'desc')
->get();
return Datatables::of($products)->make(true);
}
最佳答案
选项ajax.data
允许在数据发送到服务器之前定义操作数据的函数。
您可以使用ajax.dataSrc
来访问从服务器接收的数据,但是您还使用pipelining这不允许这样做。
使用 drawCallback
选项以及 ajax.json()
用于访问检索到的数据的 API 方法或 createdRow
选项或 xhr.dt
事件。
例如:
$('#table-prod-contents').DataTable({
processing: true,
serverSide: true,
ajax: $.fn.dataTable.pipeline( {
url: '{{ url("postproductsdata") }}',
pages: 6000, // number of pages to cache
"data": function ( d ) {
console.log(d);
}
} ),
drawCallback: function(settings){
var api = this.api();
console.log(api.ajax.json());
},
columns: [
{data: 'id', name: 'id'},
{data: 'category', name: 'category'},
{data: 'pharmaceutical', name: 'pharmaceutical'},
{data: 'description', name: 'description'},
{data: 'type', name: 'type'},
{data: 'unit', name: 'unit'},
{data: 'price', name: 'price'},
{data: 'created_at', name: 'created_at'},
],
});
关于javascript - 如何在 Laravel 5.2 中的数据表服务器端处理中访问 json 对象/数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415077/