如何解决数据表处理空 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 举报,一经查实,本站将立刻删除。