1

全て、

誰かが助けてくれるかどうか疑問に思っています。私は、dom 操作と JSON コードの両方を介して、かなり長い間 DataTables を使用してきました。ただし、2 つの大きな結果セットの実行がまだ遅すぎるため、それらをクライアント側のデータ ソースに変換しようとしています。ヘッダー付きのテーブルがありますが、データがマークアップに挿入されていません。

出力ページを作成し、参照用にそのコードからの出力のスニペットをコピーしました。JSONバリデーターを介して検証しており、サンプルコードとの間に違いはありません。実際、ある時点で、サイトのサンプル データを使用してこれを機能させようとしましたが、役に立ちませんでした。それは問題ではありませんが、私の JSON は直接アクセスできる Symfony アクションを介して作成されます (もちろんログインで) XHR 呼び出しを介して Firebug で検証済みの JSON 出力を正常に表示できるため、実行時にブラウザ。このページで他のデータテーブルを実行しているので、インクルードは適切にセットアップされています。私の理論では、インスタンス化に関連する何かが、それが不正な形式のパラメーターであろうとコマンドの欠落であろうと、これがエラーなしで失敗する原因になっているというものです。

以下は私のコードです:

AJAX ページ出力 (わかりやすくするために切り捨てられています):

{"sEcho": 0, "iTotalRecords": 1788, "iTotalDisplayRecords": 1788, "aaData":[["", "<a href=\"/web/link/123\"><img border=\"0\" alt=\"View Prospect\" src=\"/web/images/view.png\" /></a>", "First", "Last", "company ", "address", "city", "state", ""] ,["", "<a href=\"/web/link/124\"><img border=\"0\" alt=\"View Prospect\" src=\"/web/images/view.png\" /></a>", "first1", "last1", "company1", "address1", "city1", "state1", "email1"] ]}

Jquery の初期化:

jQuery('#prospectList').dataTable( {
         "bProcessing": true,
         "bServerSide": true,
         "sAjaxSource": "/web/prospect/ajax",
         "bJQueryUI": true,
         "sPaginationType": "full_numbers",
         "bAutoWidth": false,
         "bFilter":true,
         "bLengthChange": true,
         "bPaginate": true,
         "bSort": true,
         "iDisplayLength": 10,
         "bInfo": true,
         "aoColumns": [
            { "sTitle": "Action" },
            { "sTitle": "First Name" },
            { "sTitle": "Last Name" },
            { "sTitle": "Company" },
            { "sTitle": "Street"},
            { "sTitle": "City" },
            { "sTitle": "State" },
            { "sTitle": "Email" }
         ]
      })

何か足りないものを見た人はいますか?前もって感謝します。

4

1 に答える 1

0

はい、わかった。文字列の「sEcho」値は、テスト用にデフォルトで 0 に設定されています。1 に設定しない限り、何もしません。また、JSON 経由で渡される値が int として適切にエンコードされていることを確認するように注意してください。

于 2010-07-19T18:58:56.370 に答える