数据表不会处理页面更改

时间:2011-09-28 19:30:05

标签: javascript jquery json datatables

我必须做错事,但我的代码非常基本,甚至不会偏离他们在网络上的例子。

我正在使用服务器端分页,而我所遇到的是,在即时页面上加载它会从服务器中提取数据并使表格正常。但是,分页或更改页面上的记录数确实会调用AJAX,但无法实际处理。

如果我更改了jquery.dataTables.js(v 1.8.2)的第3562行,问题就会停止。

if ( false )//json.sEcho*1 < oSettings.iDraw )

该行的某些背景信息:

    function _fnAjaxUpdateDraw ( oSettings, json )
    {
        if ( typeof json.sEcho != 'undefined' )
        {
            /* Protect against old returns over-writing a new one. Possible when you get
             * very fast interaction, and later queires are completed much faster
             */
            if ( false )//json.sEcho*1 < oSettings.iDraw )

只是为了证明我的设置是多么简单:

<script type="text/javascript">
    $(function(){

        $('#recTable').dataTable({
                "bProcessing":true,
                "bServerSide": true,
                "sAjaxSource": "/recordings/partPageCallRecordings/",
            "bJQueryUI": true,
            "sPaginationType": "full_numbers",
            "aoColumns": [
                { "bSortable": false },
                null,
                null,
                null,
                { "bSortable": false }
            ]
        });         
    });

</script>

和HTML:

<table id='recTable' class='vmTable' >
    <thead>
        <tr class='vmHeader'>
            <th><input id='selectAll' type='checkbox'></input></th>
            <th class='sortHead'>Date</th>
            <th class='sortHead'>File Name</th>
            <th class='sortHead'>Type</th>
            <th class='sortHead'>Playback</th>
        </tr>
    </thead>
    <tbody>     
    </tbody>
</table>

1 个答案:

答案 0 :(得分:4)

看起来你正在将sEcho数据返回给客户端,因为它超过了第一个if块。你是否在服务器端以任何方式编辑它?您是否尝试在该行的firebug中放置断点以查看sEcho返回的内容?我基本上是说这个请求是一个旧请求,由sEcho值表示,与最新的iDraw整数相比较。

没有看到你的json响应看起来像我只能猜测。但我的猜测是在服务器端没有正确设置sEcho变量。