1

这工作正常:

<table id="dataTable">
    <thead>
    <tr>
        <th>
           Title
        </th>
        <th>
            Creator
        </th>
        <th>
           Subjects
        </th>
        <th></th>
    </tr>
        </thead>

</table>
<script type="text/javascript">
    $(document).ready(function () {
        $('#dataTable').dataTable({
            "sDom": 'ft<"bottom clear"ip><"clear">',    
            "bServerSide": true,
            "iDisplayLength": 10,
            //"bProcessing":true,
            "sAjaxSource": '@Url.Action("GetMessages","Performance")',
            "aoColumns": [
                       { "sName": "Title" },
                       { "sName": "Creator" },
                       { "sName": "Subject" }]
        });
    });
</script>

如果我取消注释“bprocessing:true”行,则会出现此异常 Uncaught TypeError: Cannot read property 'length' of undefined jquery.dataTables.min.js:65

抛出异常的代码对我来说意义重大

function E(a, b) {
                if (a.oFeatures.bProcessing)
                    for (var c = **a.aanFeatures.r**, d = 0, i = c.length; d < i; d++)
                        c[d].style.visibility = b ? "visible" : "hidden";
                h(a.oInstance).trigger("processing", [a, b])
            }

a.aanFeatures 存在,但 a.aanFeatures.r 未定义。性能控制器中的操作甚至不会被调用。

任何人?

4

1 回答 1

1

有几件事很突出:

表中没有<tbody></tbody>- 将其添加到</thead>.

在该<thead>部分中,您有四个<th>单元格;在 aoColumns 部分,只有三个。您的 Ajax 调用返回多少列?返回的列数应该一致。

于 2013-05-08T21:21:52.053 回答