![](/img/trans.png)
[英]How to load data in chunks in a datatable without server side processing
[英]How to access json object/data in datatable server side processing in Laravel 5.2?
我們正在新項目上使用數據表,由於正在處理大量數據,因此我們正在使用服務器端對數據表的處理。但是現在,我們正在嘗試弄清楚如何從中獲取所有數據當我使用自定義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的值。 編號: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
來訪問從服務器接收的數據,但是您還使用了不允許的流水線 。
使用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'},
],
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.