【问题标题】:Datatables -Load JSON data into a table数据表 - 将 JSON 数据加载到表中
【发布时间】:2018-01-17 17:56:26
【问题描述】:

我正在使用数据表,并且我有来自 API 的数据,我该如何填充我的表?响应采用 JSON 密钥对格式

{
    "site": "SITE A",
    "sent": "141558",
    "open": "470",
    "click": "0",
    "delivered": "0",
},
{
        "site": "SITE B",
        "sent": "141558",
        "open": "470",
        "click": "0",
        "delivered": "0",
    },

HTML

<table id="example" class="table datatable-basic table-bordered table-striped table-hover" width="100%" cellspacing="0" style="text-align:center;">
  <thead style="text-align:center;background-color:#BE1E2D; color:white">
                       <tr>
                                <th>Site Visited</th>
                                <th>Sent</th>
                                <th>Open</th>
                                <th>Clicked</th>
                                <th>Delivered</th>
                            </tr>
                            </thead>

                        </table>

Javascript

$('#getData').on('click', function () {

        $('#example').DataTable( {
            "ajax": 'http://localhost/API/index.php'
        } );
    });

【问题讨论】:

  • 向我们展示您在何处/如何使用数据表。
  • 您是通过 ajax 获取 JSON 吗?
  • 是的,我通过 ajax 获取这个 JSON
  • @IsaacKleinman 查看我对Datatables的编辑

标签: jquery json api datatables


【解决方案1】:

如果你从 api 获取对象数组,你应该使用 columns 属性,如果它是一个发布请求,你也应该指定:

$(document).ready(function() {
    $('#example').DataTable( {
        "ajax": {
             "url": "http://localhost/API/index.php",
             "type": "POST"
         },
        "columns": [
            { "data": "site" },
            { "data": "sent" },
            { "data": "open" },
            { "data": "click" },
            { "data": "delivered" }
        ]
    } );
} );

【讨论】:

  • 它是get,将其更改为GET,但仍然看到相同的错误
  • 这个错误意味着来自服务器的预期数据不是有效的json,使用你的开发者工具查看服务器发送的内容
  • 还要确保从服务器返回的数据是一个对象数组:[{},{}...]
【解决方案2】:

将您的 JavaScript 更改为如下所示:

$('#example').DataTable( {
        "ajax": "http://localhost/API/index.php",
        "columns": [
            { "data": "site" },
            { "data": "sent" },
            { "data": "open" },
            { "data": "click" },
            { "data": "delivered" }           
        ]
    } );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多