javascript - json数据量大,前端能做什么
PHPz
PHPz 2017-04-11 12:27:49
[JavaScript讨论组]

百度地图上的点,希望一次性标注到地图上,ajax请求的数据量很大,保存为txt文件都有30多m,前端在性能优化上能做什么?

PHPz
PHPz

学习是最好的投资!

全部回复(4)
迷茫

实在不明白你为什么要加载那么多数据,那么大的数据浏览器肯定会卡顿的,建议分批(分页)加载。

高洛峰

既然问题修改了,重答下。

这里思路应该是类似的:使用流式传输,一边传输一边解析,解析出来就标记到界面上。有两个实现方案:

  1. 使用 WebSocket

  2. 使用 Server-side event

这两个方案都可以持续性从服务器获取数据,而不是一次性拉下来一大坨,然后再慢慢解析。

当然,你用 ajax 一次取一点点多取几次也不是不可以,不过那样网络负担可能会更大。具体的,还是看你们的业务吧。


Ajax 30+M 的 JSON 交给前端优化,贵司真是心大……

我能想到的就是把这一坨丢给 Service Worker 去解析,避免卡死 UI。

不过这不是重点吧,后端分块啊!

天蓬老师

贵司的后端同学心真大, 30M的文件,他怎么弄出来的,是日志文件么?

火影忍者写成书都不够30M的。

打包一个小说集合都够了,这还前端解析。

只能分批加载,而且就算分批加载,最终前端也无法全部数据加载出来,会卡死页面的。

后面数据多了以后只能一边销毁一边新加载。

迷茫

这种情况关键是你一次性拿到的数据量太多,这样性能上的问题可想而知,前端不太好优化的,
一个就像楼上所说的,让后端配合你进行分页功能;
再退一步可以让后端把数据渲染到页面上,你再去拿,这个方法算是折中吧,比ajax一次性拿要好些

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号