我有一个数据表实现,它执行ajax请求$_SERVER['PHP_SELF']
。我运行查询以获取页面加载时的所有记录。但是,第一个ajax调用将再次无限制地执行此操作。我想知道是否可以在初始ajax请求中传递总行数。这是我的数据表代码:
var myTable = $('.datatable').DataTable({
"serverSide": true,
"processing": true,
"paging": true,
"searching": { "regex": true },
"lengthMenu": [ [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"] ],
"pageLength": 10,
"ajax": {
"type": "POST",
"url": "<?= $_SERVER['PHP_SELF']; ?>",
"dataType": "json",
"contentType": 'application/json; charset=utf-8',
"data": function (data) {
// Grab form values containing user options
var form = {};
$.each($("form").serializeArray(), function (i, field) {
form[field.name] = field.value || "";
});
// Add options used by Datatables
var info = { "start": 0, "length": 10, "draw": 1 };
$.extend(form, info);
return JSON.stringify(form);
},
"complete": function(response) {
console.log(response);
}
}
});
答案 0 :(得分:1)
我找到了解决我的问题的方法,这似乎是多个问题。
recordsTotal
认为它应该是我想在我的ajax调用中检索的行数。{/ p>
"contentType": 'application/json; charset=utf-8',
似乎打破了我的ajax请求。
我现在使用以下方式传递总行数:
&#34;数据&#34;:{ &#34; totalRows&#34;:&#34;&#34;, },
我现在最初使用对查询结果的计数设置$totalData
,然后使用$_REQUEST
覆盖它。