【问题标题】:Linking DataTables with sql database using Nodejs使用 Nodejs 将 DataTables 与 sql 数据库链接
【发布时间】:2018-10-10 19:58:13
【问题描述】:

我希望你能帮助我,因为我对这个问题很生气。 我没有使用 Node、Ajax 和 DataTables 的经验,所以这可能是我的错。 我有一个链接到数据表的 html 表。在加载文档时,我发送一个 POST 请求以从 MySQL 数据库中获取数据。如果我用 row.add() 方法填充 DataTable 一切正常,但如果表增长,我可能会在这个系统中遇到一些减速,所以我想将 DataTable 表与数据库链接,以便程序只加载记录到显示。现在问题开始了。 在我的节点文件中,如果我像这样返回 sql 数据:

res.json(结果);

我的 DataTable 显示了所有数据,但表格的记录数不正确(表格下方显示“显示 0 到 0 个条目(从 NaN 总条目中过滤)”,更糟糕的是,表格有无限页,都显示相同的数据(前 10 条记录)。 相反,如果我返回一个 ajax:

ret = JSON.stringify({
    "draw": req.body.draw,
    "recordsTotal": result[0]['COUNT(cf)'],
    "recordsFiltered": result[0]['COUNT(cf)'],
    "data": dati
});
res.send(ret);

DataTables 在表格底部的信息行中显示正确的记录数,但未显示任何数据。 在控制台中,我显示了 ret 对象,它似乎没问题。我不知道现在该怎么办。

【问题讨论】:

    标签: node.js datatables


    【解决方案1】:

    我解决了!!!经过近 2 天的尝试,这令人难以置信。 在我放入 DataTables ajax 的 html 文件中:

    [...]
    dataSrc: 'dati',
    [...]
    

    然后在我的 Nodejs 文件中:

    ret = JSON.stringify({
        "draw": req.body.draw,
        "recordsTotal": result[0]['COUNT(cf)'],
        "recordsFiltered": result[0]['COUNT(cf)'],
        "dati": dati
    });
    res.send(ret);
    

    一切正常。

    【讨论】:

      猜你喜欢
      • 2018-10-20
      • 2016-09-01
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      相关资源
      最近更新 更多