2017-03-31 19 views
0

サーバーからajax経由でDataTableにデータを表示したいとします。ここで私が持っているものです。ajax経由でサーバーからDataTableにデータを表示できません

# server 
    # .... 
    return jsonify({"data": {1: (123, "something1", 333), 2: (456, "something2", 555)}}) 

テンプレート:

<script> 
    $("#my_table").DataTable({ 
     ajax: "/my_url.json", 
     processing: true, 
     serverSide: true, 
     columns: [ 
     {data: "id" }, 
     {data: "column2"}, 
     {data: "column3"} 
     ] 
    }); 
    </script> 

とテーブル:

<table id="my_table"> 
    <thead> 
    ...... 

何らかの理由で、何も起こりません。まったく。サーバーへのajax要求もありません。エラーもありません。 jsファイルとcssファイルがテンプレートに含まれています。

ブラウザで「/my_url.json」に移動するとjsonが返されます。

修正方法?

答えて

0
あなたはDataTableのように少しはデータがこの形態であることを期待し、サーバーサイドスクリプトを適応させる必要があります

:私はあなたのデータはその種にならないことをかなり確信している

{ 
    "data": [ 
     { 
      "id": 123, 
      "column2": "something1", 
      "column3": 333 
     },{ 
      "id": 456, 
      "column2": "something2", 
      "column3": 555 
     } 
    ] 
} 

フォーマットは、dataが必要です。

私はPython上ではないので、どのようにあなたのサーバー側のスクリプトを変更するつもりか分からない、ごめんなさい。あなたはDataTable内でそれを処理することができますが、それはサーバー側で行う方が良いかもしれません。

+1

実際には、 'データ'は完全には必要ではありません。 ['ajax.dataSrc'](https://datatables.net/reference/option/ajax.dataSrc)オプション – Sebastianb

+1

を使用してデータを含むキーを指定することができます。私は知っていますが、私の回答' data 'が追加されています。これは' dataSrc'を追加してURIだけでなくオブジェクトに 'ajax'を変更しない限り必要です。しかし、私はそれを述べておくべきだった、あなたは正しい。 – annoyingmouse

関連する問題