【问题标题】:datatables does not load json (array with objects)数据表不加载 json(带对象的数组)
【发布时间】:2016-01-15 23:21:40
【问题描述】:

我正在尝试使用来自 ajax 的排序数据设置数据表。该文件输出一个包含对象的数组:

[{"column":"content","column":"content"}]

但它没有加载数据,它一直在处理。

$('#example').DataTable( {
    processing: true,
    lengthChange: false,
    ajax: '/get?op=2',
    language: {
        "url": "//website.com/js/DataTables-Spanish.json"
    },
    columns: [
        { data: 'id' },
        { data: 'columns' }
        // more columns
    ],
    select: true
});

这是文件的代码:

if ($op === 2) {

    $result = $functions->get_prop_table_test();

    header('Content-type: text/json');
    header('Content-type: application/json');
    echo json_encode($result);
}

我看到的唯一错误是在控制台中:

TypeError: f is undefined    datatables.min.js:60:375
ia/<()                       datatables.min.js:60
ra/i()                       datatables.min.js:47
ra/o.success()               datatables.min.js:47
n.Callbacks/j()              jquery.min.js:8
n.Callbacks/k.fireWith()     jquery.min.js:8
x()                          jquery.min.js:10
.send/b/<()                  jquery.min.js:10

https://cdn.datatables.net/s/zf/dt-1.10.10,b-1.1.0,se-1.1.0/datatables.min.js

问题出在哪里?

【问题讨论】:

    标签: javascript php jquery datatables


    【解决方案1】:

    您需要使用如下所示的dataSrc: '' 来匹配您的JSON 数据格式,请参阅dataSrc 了解更多信息。使用以下初始化选项:

    ajax: {
       url: '/get?op=2',
       dataSrc: ''
    }
    

    【讨论】:

      【解决方案2】:

      通常,此类错误源于返回的数据。如果您使用的是西班牙语数据,则可能是编码不匹配(UTF-8 与 ASCII 等),而重音会给您带来麻烦。

      您能否发布您从$functions -&gt; get_prop_table_test(); 返回的数据示例

      【讨论】:

      • 我删除了语言选项,仍然无法正常工作。返回的数据和我上面的例子一模一样,每行一个对象的数组。
      猜你喜欢
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      相关资源
      最近更新 更多