当dataTable返回空值时,loadingRecords与zeroRecords或emptyTable冲突

时间:2014-12-03 16:33:01

标签: php jquery ajax cakephp datatable

当我尝试使用未找到记录的dataTable加载网页时,我遇到了问题。在调查之后,当我在语言配置中使用时,我看到了两个选项,当向用户发布消息时,它们会以某种方式相互冲突。

我正在使用DataTables 1.10.4版本和cakephp 2.5.4版本。

当dataTable从请求Ajax加载数据时,loadingRecords中设置的消息会显示给用户并说" Carregando ......"。

如果有数据可在dataTable中显示,则来自loadingRecords的此消息将消失,所有数据均可供最终用户使用。

如果没有数据可在dataTable中显示,则零记录选项应接管并向用户显示消息" Nenhum registro encontrado"。但问题是消息" Carregando ......"仍然显示,什么也没发生。如果最终用户期望页面中有一些数据,那就太糟糕了。

是否存在关于zeroRecords消息不起作用的已知问题?即使我尝试使用emptyTable,这个dataTable也无法工作。

顺便说一句,在删除了loadingRecords选项并刷新浏览器之后,来自zeroRecords的消息正常工作。但是,如果有要处理的数据,此消息仍然存在,并且仅在加载整个表后消失。

以下是config dataTable:

$(document).ready(function(){
var Server = window.location.hostname;
$("#datatable-4").DataTable({
    //processing: true,
    //serverSide: true,
    ajax: {
        url: "http://"+ Server +"/epedidos/Clientes/RequestAllClientes",
        type: 'POST'
    },
    columns: [
        {data: "IdCliente"},
        {data: "Inclusao"},
        {data: "IdERP"},
        {data: "NomeFantasia"},
        {
            data: "CidadeId",
            type: "string"
        },
        {data: "Telefone"}

    ],
    language: {
        search:         "Buscar:",
        loadingRecords: "Carregando...",
        processing:     "Processando...",
        zeroRecords:    "Nenhum registro encontrado",
        emptyTable:     "Não há dados disponíveis na tabela",
        lengthMenu:     "Mostrando _MENU_",
        info:           "Mostrando de _START_ a _END_ de _TOTAL_ registros",
        infoEmpty:      "Mostrando de 0 a 0 de 0 registros",
        infoFiltered:   "(Filtrado de _MAX_ registros totais)",
        infoPostFix:    "",
        decimal: ",",
        thousands: ".",
        paginate: {
            first:      "Primeiro",
            previous:   "Anterior",
            next:       "Próximo",
            last:       "Último"
        },
    }

});
$.fn.dataTable.ext.errMode = 'throw'; 
});

有人可以帮我解决这个问题吗?

如果我需要澄清其他内容,请告诉我。

1 个答案:

答案 0 :(得分:0)

数据表网站对错误的JSON过分强调。

在数据表网站上有您要查找的内容的全部内容:

http://datatables.net/faqs/(检查服务器端处理)。我知道这不是您正在寻找的完整解决方案。

希望它有所帮助。