Datatables не обрабатывает изменения страницы - PullRequest
2 голосов
/ 28 сентября 2011

Я, должно быть, делаю что-то не так, но мой код очень простой, даже не отклоняясь от их примера в Интернете.

Я использую пейджинг на стороне сервера, и то, что я испытываю, заключается в том, что при немедленной загрузке страницы он извлекает данные с сервера и прекрасно обрабатывает таблицу. Однако подкачка страниц или изменение количества записей на странице вызывает AJAX, но фактически не обрабатывает.

Если я изменю строку 3562 файла jquery.dataTables.js (v 1.8.2), проблема исчезнет.

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 Ответ

4 голосов
/ 29 сентября 2011

Похоже, вы возвращаете данные sEcho клиенту, поскольку он проходит первый блок if. Вы редактируете это каким-либо образом на стороне сервера? Вы пытались поставить точку останова в firebug на этой строке, чтобы увидеть, что возвращает sEcho? Я в основном говорю, является ли этот запрос старым запросом, обозначенным значением sEcho по сравнению с современным целым числом iDraw.

Не видя, как выглядит ваш ответ json, я могу только догадываться. Но я предполагаю, что переменная sEcho неправильно устанавливается на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...