响应浏览器的最大json大小

时间:2012-01-20 06:21:59

标签: javascript jquery tree

我正在创建一个使用JavaScript / jquery准备的自定义控件的树。

为了创建树,我们提供json对象作为java脚本的输入来迭代并创建树。

由于数据量可能达到25K节点。在基本负载测试期间,我们发现浏览器将因此类崩溃而崩溃。

备用解决方案只是加载第一级节点,并通过AJAX请求按需加载。第一级的音量可以在500到1K节点之间变化。

json应该具有的最大大小是来自服务器的响应。什么是在浏览器上处理如此大量数据的最佳方法。

4 个答案:

答案 0 :(得分:14)

http响应没有最大大小限制(或者Int的最大大小或浏览器的限制或服务器的限制已经配置)。

最好的方法是在需要显示时使用AJAX加载部分数据。

答案 1 :(得分:8)

HTTP响应没有大小限制。 JSON将作为HTTP响应发布。所以它没有大小限制。

如果从JSON响应解析的对象消耗太多内存,则可能存在问题。它会崩溃浏览器。因此,最好使用不同的数据大小进行测试,并检查您的应用是否正常工作。

我认为延迟加载是处理如此大量数据的最佳方法。特别是在处理对象文字时。

参见雅虎的High Performance Ajax Application演示文稿。

答案 2 :(得分:3)

嗯,我觉得我来不及给出两分钱。补充 shiplu.mokadd.im 的答案浏览器内存是一个限制,HTTP响应可以根据TCP规范拥有任意数量的数据。

但我有一个使用谷歌浏览器(版本29.0.xx)和Jetty服务器的应用程序,其中来自Jetty服务器的响应的有效负载达到335MB。当浏览器收到大小相同的响应时Chrome停止留下“IPC消息太大”的消息。虽然这是针对谷歌浏览器的(不确定其他浏览器),但响应的最大大小应该有一个阈值。

答案 3 :(得分:0)

没有最大大小限制,但大小取决于客户端系统(浏览器所在的系统)的 RAM、CPU、网络带宽来解析大型 json 数据。如果系统低端且json数据大,则浏览器挂起。