返回数据时不会填充DataTable

时间:2016-05-17 13:36:12

标签: jquery datatable

我的页面上有很多数据表,我有一个填充它们的通用方法,除了一个之外它们都可以正常工作。

我的ajax方法如下:

    function AjaxGet(url, tableName) {
        $.ajax({
            method: 'GET',
            url: url,
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',
            success: function (data) {
                $('#' + tableName).dataTable({
                    destroy: true,
                    'bPaginate': false,
                    'aoColumns': DetermineColumns(tableName),
                    'aaData': data,
                    'sDom': '<"top">t<"bottom"><"clear">',
                    'bSort': false
                });
            }
        });
    };

我知道输入的URL和表名是正确的。

当我在开发人员工具中调试时,我的数据如下所示:

enter image description here

DetermineColumns函数包含if..else ..检查,直到找到正确的表名,它成功执行,然后将以下内容返回aoColumns

        return [
                {
                    'mDataProp': 'PartNum'
                },
                {
                    'mDataProp': 'ukstk'
                },
                {
                    'mDataProp': 'ukfob'
                },
                {
                    'mDataProp': 'de'
                },
                {
                    'mDataProp': 'fr'
                },
                {
                    'mDataProp': 'es'
                },
                {
                    'mDataProp': 'ae'
                },
                {
                    'mDataProp': 'usa'
                },
                {
                    'mDataProp': 'mx'
                },
                {
                    'mDataProp': 'jx'
                }
            ];

这是我的HTML表格:

<div class="row">
<div class="col-md-6">
    <table id="stdCostTable" class="table input">
        <thead>
            <tr>
                <th></th>
                <th>
                    UK-STK
                </th>
                <th>
                    UK-FOB
                </th>
                <th>
                    DE
                </th>
                <th>
                    FR
                </th>
                <th>
                    ES
                </th>
                <th>
                    AE
                </th>
                <th>
                    USA
                </th>
                <th>
                    MX
                </th>
                <th>
                    JX
                </th>
            </tr>
        </thead>
        <tbody>
        </tbody>
    </table>
</div>

有人可以帮忙解决为什么没有填充相关数据表吗?

谢谢!

我也没有从控制台或调试器收到任何错误。就数据表而言,没有数据,因此,正确地初始化它显示消息“表中没有可用数据”,但是当数据被分配给'aaData'时,数据位于'data'对象中。

1 个答案:

答案 0 :(得分:1)

我认为data应该是一个对象(或数组)数组,而不是一个对象本身。检查initialization example(我假设您使用的是旧版本)