DataTable显示零行甚至得到响应
DataTable shows zero rows even get the response
我有一个数据表。我尝试通过ajax加载。响应包含数据,但显示没有找到任何数据。我的代码在下面
<table id="user_list_table">
<thead>
<tr>
<th>name</th>
<th>phone</th>
<th>email</th>
<th>address</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
我的js包含
$(document).ready(function() {
var MY_AJAX_ACTION_URL = "/social/index.php?id=4&userform[action]=datatable&userform[controller]=User";
$('#user_list_table').dataTable({
"autoWidth": false,
"bPaginate": false,
"searching": false,
"ordering": true,
"oLanguage": {
"sZeroRecords": "No data Found",
"sProcessing": 'processing'
},
"bInfo": false,
"aoColumns": [
{'mData':'name','bSortable': true},
{'mData':'phone','bSortable': true},
{ 'mData':'email','bSortable': true },
{ 'mData':'address','bSortable': true}
],
"sAjaxDataProp": "",
"bProcessing": true,
"bServerSide": true,
"sAjaxSource":MY_AJAX_ACTION_URL
});
});
我得到了以下响应
{"iTotalRecords":2,"iTotalDisplayRecords":{"data":[{"name":"xyz","phone":"678654454","email":"xyz@gmail.com","address":"ytruye"},{"name":"abc","phone":"678654454","email":"abc@gmail.com","address":"ytruye"}]}}
服务器响应有点遗漏。你有
{
"iTotalRecords": 2,
"iTotalDisplayRecords": {
"data": [
但是CCD_ 1被假定为过滤记录的数目(当然CCD_ 2是记录的总数)。如果您更正的响应
{
"iTotalRecords": 2,
"iTotalDisplayRecords": 2,
"data": [
{
并删除"sAjaxDataProp": "",
,然后它就工作了->http://jsfiddle.net/2o6eLt2z/
所以问题出在服务器端,没有可能纠正客户端的问题,因为JSON永远不会作为服务器端源与dataTables一起工作。您可以在ajax: { url: ...}
中使用serverscript,并在dataSrc
回调中返回更正的JSON,但在我看来,您希望使用服务器端处理。
相关文章:
- 基于类的单击事件在10行之后不响应-数据表
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- 隐藏仅包含零的 HTML 行(给定一组可见列)
- 如何实现响应式表的交替行样式
- 添加新行后无法“刷新”灯丝组表锯响应表
- 如何防止在响应模式下图像换行
- 如果 JSON 响应具有指定的行,则发出 JavaScript 警报
- 将每个数字换行并在零前加上最多 X 位数字
- 刷新行并将行的两列替换为来自操作类的响应
- 请求后是否可以在下一个代码行中获取 Ajax 响应
- JSON响应中换行的非法标记
- TypeError:jQuery自动生成表行中未定义响应[i]
- 从Node.js在MySQL中更新-如何判断是否影响零行
- 如何响应用户在jQuery.dataTables中选择的行
- 响应行不尊重其内部DIV的高度
- 根据屏幕大小将列放入新行,使网站具有响应性
- 在服务器端读取多行文件,并通过ajax响应将行发送到浏览器
- DataTable显示零行甚至得到响应
- On - click函数不响应换行的span标记
- Angularjs删除JSON eval之前的响应数据行