繁体   English   中英

处理JSON(通过PHP)时,JavaScript(JQuery)表的加载速度非常慢

[英]JavaScript (JQuery) table very slow to load when processing JSON (via PHP)

我有一个相当简单的HTML页面,该页面依靠JQuery处理提交表单后的JSON对象,然后将数据整理到一个大表中(取决于在Form中选择的标准,最多1000行,以及50列)

该请求进入一个PHP页面,该页面进行了一些相当繁重的计算,以构建JSON数组并将其发送回供JQuery处理。 JS将数据组织在HTML表中。

JSON数组中返回的对象数根据表单中选择的设置而有所不同,但是时间的长短似乎成倍增加了HTML页面上的总加载时间。 我知道每个JSON对象都相当大,但是我需要返回的所有信息,因此进一步缩减它并不是一个真正的选择。

我的问题是我无法弄清楚速度在哪里发生? JSON数组的大小吗?

我尝试过的

  • 加快选择PHP / MYSQL的速度(帮助最小)
  • 通过在脚本开始和结束时写入* .txt文件来为PHP脚本计时。 即使在最坏的情况下(在HTML表单上选择了大多数选项),处理json_encode的总时间也不会超过4-5秒。
  • 使用ob_start(“ ob_gzhandler”); 在json_encode之前(似乎没有任何区别)。
  • 我拿出JS插件对表列进行排序(最初使用sorttable.js并更改为stupidtable来加快处理速度,但似乎没有用)
  • 我尝试使用Chrome的堆快照来确定任何内存泄漏并找到JSON数组的总大小。 老实说,我不确定我在看什么?

感谢您能给我的任何帮助。 我花了最后一天在Google和StackOverflow上进行搜索,但目前我很茫然。 谢谢

使用开发工具f12查看来自服务器的请求返回需要多长时间。 在不同操作之间返回后,在js中添加一些日志,以查看瓶颈可能在哪里。 试图一次在dom中显示1000k +表行将影响性能。 我会考虑使用JS表api,例如DataTables,它将仅在dom中一次显示这么多的表行。 您可以将整个json对象放入页面中。

https://datatables.net/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM