【问题标题】:Unable to display data in DataTable from a server via ajax无法通过 ajax 从服务器显示 DataTable 中的数据
【发布时间】:2017-03-31 17:04:06
【问题描述】:

我想通过服务器的 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。

如何解决?

【问题讨论】:

    标签: javascript python ajax flask datatables


    【解决方案1】:

    您需要稍微调整一下您的服务器端脚本,因为 DataTables 期望数据采用这种形式:

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

    我很确定您的数据不会采用那种格式,尽管在满足data 的需求方面做得很好!

    我不了解 Python,所以我不确定您将如何更改服务器端脚本,抱歉。您可以在 DataTables 中处理它,但最好在服务器端进行,希望对您有所帮助。

    【讨论】:

    • 实际上,“数据”并非完全必要。您可以使用 ajax.dataSrc 选项指定包含数据的键是什么
    • 我知道,但是在我写回复时,data 已添加,除非您想添加 dataSrc 并因此将 ajax 更改为对象而不仅仅是 URI,否则它是必需的.但我应该提到这一点,你是对的。
    猜你喜欢
    • 2023-03-17
    • 2021-06-30
    • 1970-01-01
    • 2014-03-01
    • 2017-06-12
    • 1970-01-01
    • 2021-10-27
    • 2017-06-13
    • 1970-01-01
    相关资源
    最近更新 更多