无法通过ajax从服务器在DataTable中显示数据
问题描述:
我想通过服务器的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。
如何解决?
答
您需要调整您的服务器端脚本一些,因为数据表预计该数据将在这种形式:
{
"data": [
{
"id": 123,
"column2": "something1",
"column3": 333
},{
"id": 456,
"column2": "something2",
"column3": 555
}
]
}
我敢肯定,你的数据不会在那种的格式,虽然做得很好,为时钟的需要data
!
我对Python没有兴趣,所以我不确定如何去改变你的服务器端脚本,对不起。你可以在DataTable中处理它,但它可能更好地做服务器端,希望有帮助。
实际上,'数据'并不是完全必要的。我可以使用['ajax.dataSrc'](https://datatables.net/reference/option/ajax.dataSrc)选项 – Sebastianb
指定包含数据的关键字,但我知道这是因为我正在写回应数据'被添加并且它是必需的,除非你想添加'dataSrc'并因此把'ajax'改为一个对象而不仅仅是一个URI。但我应该提到,你是对的。 – annoyingmouse