javascript - 浏览器无法处理大 JSON

标签 javascript json apache2 webgl

我们有一个提供网站的 Apache 服务器。该网站创建一个 GET 请求,在服务器上运行 C++ 程序。该程序创建一个 3D 场景并使用包含该场景的 json 响应 Get-Request。然后使用 WebGL 在浏览器中渲染场景。

这对于小场景非常有效。 当 json 大于 ~125 mb 时,Chrome 会抛出错误。 Firefox 可以处理高达 ~260 mb 的 json。

我使用 jquery 创建 Get-Request:

BP2011D1.ServerProxy.prototype.loadMesh = function(requestParameter, callbackOnSuccess,   callbackOnError)
{   
$.ajax({
    type: "GET",
    url: this.getServerURL() + "/cgi-bin/" + this._treemapDirectory + "/hpi_bp2011_app_fcgi",
    data: requestParameter + "&functionName=getMesh",
    dataType: "json",
    success: callbackOnSuccess.execute,
    error: callbackOnError.execute
});
};

对于大型 json,会执行 callbackOnError,因此 json 似乎无效。

我知道 json 应该是完全有效的。

我认为浏览器无法处理大 json 或大字符串。他在末尾剪辑了一些字符,因此缺少括号使 json 无效。

有没有办法解决这个问题?我需要处理高达 800 MB 的 json。

最佳答案

您可以尝试使用更紧凑的格式

http://code.google.com/p/webgl-loader/

您也可以推出自己的格式,并使用二进制 XHR 直接以二进制形式下载大部分内容

http://www.html5rocks.com/en/tutorials/file/xhr2/

关于javascript - 浏览器无法处理大 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10722720/

相关文章:

javascript - 使用本地存储在 Chrome Web App 中传递链接 ID

javascript - 使用javascript设置最大长度

JavaScript:带有 vars 的自定义属性

ruby-on-rails - 来自 cloudfront 的动态内容 - 我可以放置来自 Rails 的 API 结果 (JSON) 吗?

objective-c - 在 debian (Apache) 后台运行 php 脚本

apache2 - 在 ubuntu 上从 prefork MPM 切换到 worker MPM + php-fpm

javascript - 如何限制 react 三纤维MapControls中的平移距离

javascript - jquery在html中间

php - XML 中的 CDATA 中的 JSON - 适用于本地主机 (WAMP),但不适用于主机 (LINUX)

apache - sudo : pecl7. 2-sp:找不到命令