我在使用jQuery Datatables插件时遇到问题,我使用AJAX调用从数据库中获取数据,问题是当我的数据包含超过5万行时,发生这种情况时,我收到以下错误消息:>
未捕获的RangeError:超出最大调用堆栈大小 在jQuery.fn.init.push() 在Function.Sizzle [找到](jquery-3.1.1.js:825) 在jQuery.fn.init.find(jquery-3.1.1.js:2921) 在HTMLTableElement。 (datatables.min.js:109) 在Function.each(jquery-3.1.1.js:368) 在jQuery.fn.init.each(jquery-3.1.1.js:157) 在jQuery.fn.init.m上[作为dataTable](datatables.min.js:102) 在reportes.html:282 在Object.success(CallWebMethod.js:258) 着火了(jquery-3.1.1.js:3305)
对于我的桌子,我使用类似这样的东西:
for (var i = 0; i < myAjaxResult.length; i++) {
htmlVal += '<tr><td>' + myAjaxResult[i].ColumnName + '</td></tr>';
}
$('#TablaId').dataTable().fnDestroy();
$('#TablaBodyId').html("");
$('#TablaBodyId').append(htmlVal);
$('#TablaId).dataTable({
aLengthMenu: [
[10, 25, 50, 100, -1],
[10, 25, 50, 100, "All"]
],
"bDestroy": true,
iDisplayLength: 25
});
当我的数据库数据少于50k时,即使我删除了包含.dataTable()的行并以纯HTML格式绘制表格,但当行数超过50k时,一切都可以正常工作。唯一的问题是当我添加.dataTable()
时编辑:目前问题仅在Chrome上运行,在Firefox中完美运行
可能是什么问题?