Yii Framework Forum: DataTable with ajax - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

DataTable with ajax Data returned from ajax controller does not display in the table Rate Topic: -----

#1 User is offline   SigalZ 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 12-February 16

Posted 12 February 2016 - 07:18 AM

Hello,

I am new to Yii and need some help.

I am using Yii2.

I have a page where I use DataTable trying to populate it with ajax from the database.
The data returned from the controller does not display in the table.

I installed the DataTable extension.
I installed yadcf

My html:
<table class="table table-bordered" id='invoicesTbl'>
             <thead>
                <tr>
                    <th>Customer</th>
                </tr>
            </thead>
        </table>


My ajax controller has this function:
public function actionGetinvoices() {
        $company_id = isset($this->dataBody['company_id'])?$this->dataBody['company_id']:null;
        
        if ($company_id === null) 
            $this->sendResponse(501,array('error'=>'Invalid company found'));
        
        $output = array();
        $output['aaData'] = '';

        $invoices = InvoiceDiscountReport::getInvoices($company_id);

        $aColumns = array('invoice_discount_report__debtor__name');

        if(!empty($invoices))
        {
            foreach($invoices as $inv)
            {
                $row = array();
                for($i=0; $i<count($aColumns); $i++)
                {
                        $row[] = $inv[$aColumns[$i]];

                }

                $output['aaData'][] = $row;
            }
        }
        
        $this->sendResponse(200,$output);
    }


My js file has this code:
var myTable = $('#invoicesTbl').DataTable({
        retrieve: true,
        paging: false,
        "language": {
            "emptyTable": "There are no invoices for the company",
        "bProcessing": true,
        "bDestroy": true,
        "sAjaxSource": '/api/dashboard/getinvoices&company_id=49',
        "bAutoWidth": true,
        "aaSorting": [[ 0, "asc" ]],
        "aoColumns": [
            { "bSortable": true, "sWidth": "100%" },
        ],
    }
});

yadcf.init(myTable, [
    {column_number : 0, filter_type: "text", text_data_delimiter: ","}
    ],'footer');
});


The data returned from my controller looks like this:
{"aaData":[["SIGAL ZAHAVI"]]}

What I get is an empty table with: There are no invoices for the company.

Can someone please help me and tell what am I doing wrong?

Thank you
0

#2 User is offline   Minds Winding 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 30-December 13

Posted 22 February 2018 - 05:46 AM

"sAjaxSource": '/api/dashboard/get-invoices&company_id=49',
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users