Javascript jQuery数据表显示太慢-10000行(客户端)

Javascript jQuery数据表显示太慢-10000行(客户端),javascript,datatables,Javascript,Datatables,我想提高使用datatable显示日志列表(~10000)的网站页面的性能,但它会同时加载所有数据行/大量数据。 我知道服务器端可以解决这个问题,但我没有足够的时间进行重构。 希望找到一种方法来延迟在客户端加载页面或无限滚动 var tableOption={ “bPaginate”:对, “检索”:true, “分页”:对, “信息”:错误, “订单”:[], “延迟渲染”:真 }; var table=$('#table').DataTable(tableOption); $(文档).re

我想提高使用datatable显示日志列表(~10000)的网站页面的性能,但它会同时加载所有数据行/大量数据。 我知道服务器端可以解决这个问题,但我没有足够的时间进行重构。 希望找到一种方法来延迟在客户端加载页面或无限滚动

var tableOption={
“bPaginate”:对,
“检索”:true,
“分页”:对,
“信息”:错误,
“订单”:[],
“延迟渲染”:真
};
var table=$('#table').DataTable(tableOption);
$(文档).ready(函数(){
getFullRecord();
});
函数getFullRecord(){
var timezone=document.getElementById(“timezone”).value;
var website=document.getElementById(“网站”).value;
var url=document.getElementById(“url”).value;
var ip=document.getElementById(“ip”).value;
var status=document.getElementById(“status”).value;
$.ajax({
类型:“POST”,
url:project+“/recordData”,
contentType:“application/x-www-form-urlencoded”,
数据类型:“json”,
数据:{
“dateStart”:dateStart,
“dateEnd”:dateEnd,
“时区”:时区,
“网站”:网站,
“url”:url,
“ip”:ip,
“地位”:地位
},
成功:功能(数据){
var dataArray=JSON.parse(data.result);
var execTime=JSON.parse(data.execTime);
var resHTML='';
$.each(数据数组、函数(i、项){
resHTML+=htmlInfo[“resHTML”];
});
$('#recordTable').html(trHTML);
table=$(“#table”).DataTable(tableOption);
},
错误:函数(数据){}
});
}

时间戳
状态/信息
方法
网站
统一资源定位地址
知识产权
证书
要求
回应

服务器端最好(例如,使用分页:一次只返回100个条目)。在客户端看一下虚拟滚动。也许你的最终用户不需要一次显示全部10000行?我的意思是,谁来读这10000行中的每一行?当然你可以实现一个过滤器,或者至少是一个分页系统。你确定是数据表影响了性能吗?您似乎还在AJAX结果上循环,并连接HTML字符串,尽管还不清楚您到底在用AJAX结果做什么,因为
htmlInfo
在任何地方都没有定义。什么是
trHTML
?看起来您甚至没有在表中使用AJAX结果?如果目的是在表中使用这些结果,为什么不使用DataTables内置的功能来获取JSON数据,而不是手动制作HTML(速度很慢)并重新初始化表?使用数组映射将比
$提高速度。但是,老实说,每种
都会显著提高速度,主要的延迟是等待数据完成加载-我可以想象10000行的数据将相当大。我跟踪了HTML字符串连接和datatable的执行时间。HTML字符串花费时间为5757ms,但datatable为17701ms。后端调用API获取资源和进程jsonString。前端get json使用ajax,然后连接HTML字符串,因为需要添加属性,如折叠/折叠功能。