我有一个数据表,我在服务器端模式下使用通过AJAX检索数据。表面上看起来一切都是正确的,但是当我加载页面时,我显示“找不到匹配的记录”而不是数据显示。奇特的部分是,它表示它显示的记录“显示2个条目中的记录1到2”。
表HTML和JS如下:
<div class="container">
<script type="text/javascript">
$(document).ready(function() {
$("#freebieslist").dataTable({
"bServerSide": true,
"sAjaxSource": "/config/getadvertisers",
"bPaginate": true,
"bProcessing": true,
"bFilter" : true,
"sPaginationType" : "bootstrap",
"sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>"
});
$.extend( $.fn.dataTableExt.oStdClasses, {
"sWrapper": "dataTables_wrapper form-inline"
} );
});
</script>
<div class="row"><h1 class="pull-left">Advertisers</h1><div class="pull-right" style="margin-top:15px;"><a href="/config/addadvertiser" class="btn btn-primary">Add New</a> <a href="/config/delete" class="btn btn-danger">Delete</a></div> </div>
<div class="row">
<div class="span12">
<table id="freebieslist" class="table table-bordered table-striped table-hover">
<thead>
<tr>
<th class="span1"> </th><th>Advertiser</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div> </div>
正在加载的JSON是:
{
"sEcho": "1",
"iTotalRecords": "2",
"iTotalDisplayRecords": "2",
"aaData": [
[
"2",
"Test2"
],
[
"1",
"Tester"
]
]
}
如何解决此问题,以便实际显示返回的行?
答案 0 :(得分:1)
我在Chrome中使用datatables调试器解决了这个问题。我检查了返回的AJAX结果(基于get paramaters datatables传入)并发现它得到了一个null结果集。快速更改服务器端代码并开始正常工作。