2015-02-06 3 views
0

Итак, я следую приведенной здесь информации, http://datatables.net/examples/ajax/simple.html, просто чтобы установить очень простой набор данных. Я буду работать над тем, чтобы получить именно то, что я хочу, когда это будет сделано. Вот мой код:Невозможно прочитать свойство 'length' of undefined: Datatables

Таблица:

<table id='transactions' class='table table-hover'> 
    <thead> 
     <tr> 
      <th>Symbol</th> 
      <th>Company Name</th> 
      <th>Market</th> 
      <th>Purchase Price</th> 
      <th>Commission</th> 
      <th>Shares</th> 
      <th>Purchase Date</th> 
     </tr> 
    </thead> 
    <tfoot> 
     <tr> 
      <th>Symbol</th> 
      <th>Company Name</th> 
      <th>Market</th> 
      <th>Purchase Price</th> 
      <th>Commission</th> 
      <th>Shares</th> 
      <th>Purchase Date</th> 
     </tr> 
    </tfoot> 
</table> 

Javascript:

$('table#transactions').dataTable({ 
    ajax: url 
}); 

данных (полученных):

{"data": 
    [ 
     ["AAPL","Apple Inc.","NYSE","30.00","0.00","100","2015-02-03"], 
     ["T.TO","TELUS Corporation","TSE","12.75","1.25","400","2015-02-03"], 
     ["SNE","Sony Corporation","NASDAQ","42.63","2.50","50","2015-01-28"] 
    ] 
} 

Так что вопрос я получаю сообщение об ошибке в название, и я понятия не имею, почему. Насколько я могу судить, я почти полностью скопировал код на странице примера и скопировал способ отправки данных. Я надеялся, что другой набор глаз поможет мне сказать, где я ошибся.

EDIT:

Я изменил данные, посылаемые в наименьшее количество данных возможных, и проверил фактическую реакцию от сети, и это то, что я вижу:

"{\"data\":[\"AAPL\",\"Apple Inc.\",\"NYSE\",\"30.00\",\"0.00\",\"100\",\"2015-02-03\"]}" 

ли выход этих данных перепутал меня? Должен упомянуть, что я отправляю эти данные через PHP, это был массив, в котором я использовал json_encode.

+0

Что вы подразумеваете под «получением ошибки в заголовке». Какая ошибка вы получаете? – minion

+0

@minion Сообщение об ошибке «не может прочитать свойство« длина неопределенного », которое находится в заголовке вопроса. – Barmar

+0

Убедитесь, что ваш Javascript находится в функции '$ (document) .ready()'. – Barmar

ответ

0

Итак, я, наконец, выяснил ответ на этот вопрос и подумал, что я подниму его для всех, кто находится в том же положении, что и я.

DataTables указывает, что он хочет объект json, поэтому я закодировал массив на PHP, используя json_encode, чтобы получить это. Однако оказывается, что отправка стандартного массива $ data ['data'] [] - это то, что он действительно хочет.

Смежные вопросы