2017-03-31 75 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

您需要調整您的服務器端腳本一些,因爲數據表預計該數據將在這種形式:

{ 
    "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

指定包含數據的關鍵字,但我知道這是因爲我正在寫回應數據'被添加並且它是必需的,除非你想添加'dataSrc'並因此把'ajax'改爲一個對象而不僅僅是一個URI。但我應該提到,你是對的。 – annoyingmouse

相關問題