簡體   English   中英

如何在Laravel 5.2中的數據表服務器端處理中訪問json對象/數據?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM