2

默认情况下,DataTables 中的 Ajax 调用通过在 url 上添加虚假字段来避免缓存,例如http://yoursite.com/api/?_348522852542'. 我想禁用它。fnServerData看起来像这样定义的ajax函数调用......

    "fnServerData": function ( sUrl, aoData, fnCallback, oSettings ) {
        oSettings.jqXHR = $.ajax( {
            "url":  sUrl,
            ....
            "cache": false,
            ....
            });
      };

我希望的价值"cache"true而不是false。我错过了什么吗?为什么这样硬编码?进行此更改以在本地或通过提交补丁来编辑源代码的最佳方法是什么?

4

2 回答 2

1

您可以覆盖 fnServerData 回调:http ://datatables.net/usage/callbacks#fnServerData

于 2013-08-06T17:38:14.763 回答
0

当已经缓存的数据(在redis中)被数据表(1.10.10)重新缓存时,这实际上帮助我解决了我的问题,这是我的代码(它也会刷新数据,因为它被缓存了,所以速度非常快):

<script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
            var table = $('#issues-table').DataTable( {
                processing : true,
                ajax: {
                        url: '/jira',
                        dataSrc: 'issues',
                        cache: true
                },
                order: [ 0, 'desc' ],
                fnRowCallback: function( nRow, aData, iDisplayIndex ) {
                    $('td:eq(0)', nRow).html('<a href="http://jira.com/browse/' + aData[0] + '" target="_blank">' +
                        aData[0] + '</a>');
                    return nRow;
                },
            } );
            setInterval( function () {
                table.ajax.reload( null, false ); // user paging is not reset on reload
            }, 30000 );
        } );
</script>
于 2015-11-26T16:38:37.643 回答