0

次のようなテーブルがあります

<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
<thead>
    <tr>
        <th>Month</th>
        <th>ID</th>
        <th>Comments</th>
        <th>Details</th>
    </tr>
</thead>
<tbody>
</tbody>
</table>

私のjsonは

[{
"Month": "Jan-2013",
"ID": "asdfa0",
"Comments": "",
"Details": "bla bla blba blablabalbal"
}]

そして私のスクリプトは

$(document).ready(function () {
var oTable = $('#example').dataTable({
    "bProcessing": true,
    "sAjaxSource": "Script/ahd.json",
    "aoColumns": [
    { "mData": "Month" },
    { "mData": "ID" },
    { "mData": "Comments" },
    { "mData": "Details" }
    ]
});
});

その後、次のエラーが表示されます

キャッチされていない TypeError: 未定義の jquery.dataTables.js:2649 のプロパティ '長さ' を読み取ることができません

少しグーグルした後、jsonをラップする1つのソリューションを得ました

{
  aaData: 
  [{
"Month": "Jan-2013",
"ID": "asdfa0",
"Comments": "",
"Details": "bla bla blba blablabalbal"
}]
}

これも機能していません...何が問題なのですか

4

1 に答える 1

1

ドキュメントを読む

あなたのjsは

$(document).ready(function() {
                $('#example').dataTable( {
                    "bProcessing": true,
                    "bServerSide": true,
                    "sAjaxSource": "Script/ahd.json",
                    "sServerMethod": "POST"
                } );
            } );

json形式は次のようにする必要があります

{
  "sEcho": 3,
  "iTotalRecords": 6,
  "iTotalDisplayRecords": 3,
  "aaData": [
    [
      "A","B","C"
    ],
    [
       "A","B","C"
    ],
    [
        "A","B","C"
    ],
    [
        "A","B","C"
    ],
    [
       "A","B","C"
    ],
    [
       "A","B","C"
    ],
   ]

}
于 2013-02-20T11:29:02.383 に答える