Morris Js и Codeigniter передают данные от контроллера

У меня есть следующий контроллер, который выбирает данные из моей базы данных:

function chart_js () {

$rows = ''; $query = "SELECT clnt_id,date_added FROM job_card ORDER BY date_added DESC LIMIT 0, 5"; $result = $this->db->query($query); $total_rows = $result->num_rows; if ($result) { $rows = $result->result_array(); } print json_encode($rows, JSON_NUMERIC_CHECK); } 

И передает его json_encode в следующем формате:

 [{"clnt_id": 10, "date_added": "2015-11-02 12:28:01"}, {"clnt_id": 11, "date_added": "2015-11-01 07:06:56"} , {"clnt_id": 9, "date_added": "2015-10-30 22:14:48"}, {"clnt_id": 7, "date_added": "2015-10-30 06:15:55"}, {"clnt_id": 10, "date_added": "2015-10-30 06:03:50"}] 

Вышеуказанные данные – это точный формат возврата данных. Я использовал приведенные выше данные для построения статического линейного графика, и он работал очень хорошо. Ниже приведено мое мнение:

 <body class="nav-md"> <div class="panel panel-default"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> Account Registrations Past 7 days </div> <!-- /.panel-heading --> <div class="panel-body"> <div id="acctregs" style="height: 300px;"></div> </div> <!-- /.panel-body --> </div> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.css"> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js"></script> <script> $(document).ready(function () { var acct_regs = [{"clnt_id": 10, "date_added": "2015-11-02 12:28:01"}, {"clnt_id": 11, "date_added": "2015-11-01 07:06:56"} , {"clnt_id": 9, "date_added": "2015-10-30 22:14:48"}, {"clnt_id": 7, "date_added": "2015-10-30 06:15:55"}, {"clnt_id" : 10, "date_added": "2015-10-30 06:03:50"}]; var acctregs = new Morris.Line({ // ID of the element in which to draw the chart. element: 'acctregs', // Chart data records -- each entry in this array corresponds to a point on // the chart. data: acct_regs, // The name of the data record attribute that contains x-values. xkey: 'date_added', // A list of names of data record attributes that contain y-values. ykeys: ['clnt_id'], // Labels for the ykeys -- will be displayed when you hover over the // chart. labels: ['Value'], dateFormat: function (x) { return new Date(x).toString().split("00:00:00")[0]; } }); }); </script> </body> 

Однако, когда я пытаюсь извлечь эти данные из контроллера, который взаимодействует с Dbase, заменив var acct_regs на:

 var acct_regs = "<?php echo site_url('operations/char_js'); ?>"; 

Я получаю следующую ошибку:

 TypeError: a is undefined ...,h,i,j,k,l;return"number"==typeof a?a:(c=a.match(/^(\d+) Q(\d)$/),e=a.match(/^(\... 

от morris.min.js. Каков наилучший способ передать эти данные из контроллера для просмотра, чтобы он мог отображать динамические графики?