空Ajax响应的数据表错误
我在我的项目中使用了Datatable 1.9.2。我通过AJAX在其中显示申请人名单。还有一个用于过滤数据的过滤器表单。一切工作正常,但问题是,如果我筛选记录和数据库没有返回数据然后datatable在POPUP中生成一个错误。有人可以指导我如何处理与数据表空ajax响应,如何处理空数据集。
下面是我使用空Ajax响应的数据表错误
$('#applicants_list').dataTable({
"bProcessing": true,
"bServerSide": true,
"sPaginationType": "bootstrap",
"sDom": '<"H"Cfr>t<"F"ip>',
"oColVis": {
"activate": "mouseover",
"aiExclude": [ 10 ],
"sAlign": "left"
},
"bFilter": false,
"sAjaxSource": script.php,
"aoColumns": [
{"bSortable": true }, // attachments
{"bSortable": true }, //Subject Line
{"bSortable": true }, // Date Sent
{"bSortable": true }, // File Name
{"bSortable": false },
{"bSortable": false },
{"bSortable": true },
{"bSortable": true },
{"bSortable": true },
{"bSortable": false }
],
"aaSorting": [[0, 'desc']]
});
刚刚从服务器/ AJAX响应返回下列数据时滤波器返回记录是空的,将显示空的记录消息的代码。
echo '{
"sEcho": 1,
"iTotalRecords": "0",
"iTotalDisplayRecords": "0",
"aaData": []
}';
谢谢,它现在正在工作:) – Sheraz 2013-03-16 14:06:04
我有一个微调,显示与spinner.spin(目标);并停止与spinner.stop();.当从服务器获取数据并在数据到达时停止,微调器显示。无论如何,即使空白数据像这个例子一样,我想停止微调。我怎么能做到这一点? – Oualid 2013-10-18 06:55:44
好东西。对于较新的DataTable(在编写本文时为1.10),使用'{“draw”:0,“recordsTotal”:0,“recordsFiltered”:0,“data”:[]}'。 – 2015-10-14 19:23:29
echo json_encode(array('aaData'=>''));
为我工作。
对于那些寻找一个ASP.NET的解决方案,这是一个使用JSON.NET一个例子:
JObject jObj = new JObject(
new JProperty("draw", 0),
new JProperty("recordsTotal", 0),
new JProperty("recordsFiltered", 0),
new JProperty("data", new JArray())
);
return Content(jObj.ToString(Formatting.None), "application/json");
在这里其他的答案中的参数是数据表的旧版本,我认为它仍然可能是倒退与他们兼容,但至少aaData是从我在代码中看到的。
好问题。 +10 – 2016-09-01 06:34:35