我正在使用以下代码加载一个大型(~300 MB)JSON文件:
$.ajax({
type: 'GET',
url: path,
dataType: 'json',
data: {},
async: false,
success: function(json_object) {
console.log("success!");
} error: function(request, error) {
console.log(request["statusText"]);
}
});
运行它输出“InternalError:allocation size overflow”。有没有办法绕过这个不涉及使文件变小?
答案 0 :(得分:0)
您需要设置缓冲区。但是,为什么你传递这么多数据呢?对于任何用户来说,这都是非常无理的等待。
修改强>
缓冲不是你可以从ajax方面做的事情(根据How to buffering an Ajax Request?)。但是,你可以在服务器端设置一些东西(如果它是你的服务器返回数据)将它发送成碎片,然后使用ajax来请求每一块。
如果它不是您的服务器,或者您从API或其他任何地方请求,那么查看它们是否接受任何参数来定义返回对象的大小 - 这样您就可以以块的形式请求它。