微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据表处理空 ajax 响应?

如何解决数据表处理空 ajax 响应?

这是我的数据表代码

table = $('#datatable-buttons').DataTable({
          lengthChange: false,pageLength: 25,order: [ 0,'desc' ],//buttons: ['copy','excel','pdf','colvis']
          columns: [
            { data: "sample_lab_ref" },{ data: "sample_client_ref" },{ data: "sample_client_ref2" },{ data: "sample_client_ref3" },{ data: "sample_date" },{ data: "report_date" },{ data: "test_parameter_name" },{ data: "test_parameter_sop" },{ data: "test_technique_name" },{ data: "test_value_text" },{ data: "test_units" }
          ],columnDefs: [
            {
              targets: [4,5],visible: false,searchable: false
            }
          ],ajax: {
            url: "/assets/ajax/test_data_ajax_handler.PHP",type: "POST",data: {
              action: "getTestData",user_data: '<?=json_encode($userData)?>'
            }
          },buttons: {
              buttons: [
                  { extend: 'copy',className: 'btn-info' },{ extend: 'pdf',className: 'btn-danger' },{ 
                      extend: 'csv',className: 'btn-success',text: 'Export to CSV',exportOptions: {
                          modifier: {
                              search: 'applied'
                          }
                      }
                  },{ extend: 'colvis',className: 'btn-primary' },]
          },initComplete: function(settings,json) {
            table.buttons().container()
            .appendTo('#datatable-buttons_wrapper .col-md-6:eq(0)');
          }
      });

工作正常,但如果 ajax 处理程序中的函数返回 NULL(未找到行)。如何告诉数据表显示“未找到数据”之类的内容。现在它给了我一个无效的 json 语法错误

解决方法

你可以像这样创建空的json:

{
  "data": [],"total": 0,"recordsTotal": 0,"recordsFiltered": 0
}
,

尝试使用 dataSrc 并传递一个函数来处理您的数据。希望附加的数据预处理回调即使在 HTTP 错误时也能被调用

示例代码

$('#example').dataTable( {
  "ajax": {
    "url": "data.json","dataSrc": function ( json ) {
      for ( var i=0,ien=json.data.length ; i<ien ; i++ ) {
        json.data[i][0] = '<a href="/message/'+json.data[i][0]+'>View message</a>';
      }
      return json.data;
    }
  }
} );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。