【问题标题】:Datatable stuck on "proccessing" - ajax loaded数据表卡在“处理”上 - 加载了 ajax
【发布时间】:2021-02-17 10:11:30
【问题描述】:

我正在使用 ajax 处理程序来获取填充表格所需的数据。我的表格代码如下:

 $(function() {
        let table;

        table = $('#table_preview').DataTable({
          "processing": true,
          "serverSide": true,
          "columns": [
            { "data": "crop" },
            { "data": "diseases" },
            { "data": "chemical" },
            { "data": "product" },
            { "data": "rate" },
            { "data": "max_no" },
            { "data": "hi" },
            { "data": "mrl" },
            { "data": "pcs_no" },
            { "data": "supplier" }
          ],
          "ajax": {
            "url": "/assets/ajax/table_ajax_handler.php",
            "type": "POST",
            "data": {
              action: 'getPesticidesForTable'
            },
            "success": function(res) {
              console.log(res);
            }
          }
        });
    });

我试图摆脱“成功”以防覆盖某些东西,但它只会给我一个错误 当数据被控制台记录时,它看起来像这样

{
        "data": [
          {
            "crop": "Wheat",
            "diseases": "aids",
            "chemical": "Water",
            "product": "Dip dabs",
            "rate": 7,
            "max_no": 10,
            "hi": 9,
            "mrl": 45,
            "pcs_no": 1234,
            "supplier": "Me"
          }
        ]
      }

【问题讨论】:

  • success 不是 DataTables 选项,因此将被忽略。它是 jQuery 的 ajax 设置之一 - 但您没有在 DataTable 的 ajax 部分使用它,这里。正如 uingtea 所提到的,您在 DataTables ajax 调用中 must not use success
  • 当您卡在“处理”中时,您会在控制台中收到什么错误消息?

标签: javascript ajax datatable


【解决方案1】:

success 回调由 dataTable 使用,因此您需要删除以下行

"success": function(res) {
              console.log(res);
            }

不要忘记添加行标题<thead><tr><th>crop</th>....,因为它不是由dataTable添加的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多