weixin_33709219 2016-02-12 13:41 采纳率: 0%
浏览 17

Yii2 + jQuery数据表+ Ajax

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条回答 默认 最新

    报告相同问题?