我必须做错事,但我的代码非常基本,甚至不会偏离他们在网络上的例子。
我正在使用服务器端分页,而我所遇到的是,在即时页面上加载它会从服务器中提取数据并使表格正常。但是,分页或更改页面上的记录数确实会调用AJAX,但无法实际处理。
如果我更改了jquery.dataTables.js(v 1.8.2)的第3562行,问题就会停止。
if ( false )//json.sEcho*1 < oSettings.iDraw )
该行的某些背景信息:
function _fnAjaxUpdateDraw ( oSettings, json )
{
if ( typeof json.sEcho != 'undefined' )
{
/* Protect against old returns over-writing a new one. Possible when you get
* very fast interaction, and later queires are completed much faster
*/
if ( false )//json.sEcho*1 < oSettings.iDraw )
只是为了证明我的设置是多么简单:
<script type="text/javascript">
$(function(){
$('#recTable').dataTable({
"bProcessing":true,
"bServerSide": true,
"sAjaxSource": "/recordings/partPageCallRecordings/",
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"aoColumns": [
{ "bSortable": false },
null,
null,
null,
{ "bSortable": false }
]
});
});
</script>
和HTML:
<table id='recTable' class='vmTable' >
<thead>
<tr class='vmHeader'>
<th><input id='selectAll' type='checkbox'></input></th>
<th class='sortHead'>Date</th>
<th class='sortHead'>File Name</th>
<th class='sortHead'>Type</th>
<th class='sortHead'>Playback</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
答案 0 :(得分:4)
看起来你正在将sEcho数据返回给客户端,因为它超过了第一个if块。你是否在服务器端以任何方式编辑它?您是否尝试在该行的firebug中放置断点以查看sEcho返回的内容?我基本上是说这个请求是一个旧请求,由sEcho值表示,与最新的iDraw整数相比较。
没有看到你的json响应看起来像我只能猜测。但我的猜测是在服务器端没有正确设置sEcho变量。