Загрузка больших файлов JSON (250 МБ +) с XMLHttpRequest
Хотя я смотрел здесь и в других источниках, я не могу найти проблему с загрузкой большего JSON (из файла) с XMLHttpRequest в javascript. Я генерирую этот файл JSON из приложения c # и никогда не сталкивался с какими-либо проблемами с недействительным json. Меньшие файлы (1 Мб - 100 Мб) загружаются просто отлично. Недавно у меня был пользователь, который сказал мне, что он не смог загрузить свой файл (295,8 МБ) и получалallocation size overflow
в Firefox.
Я проверил это с помощью небольшого скрипта, который можно найти здесь:https://jsfiddle.net/fraguada/6k0k698g/
Я запускаю это локально и могу загружать меньшие файлы без проблем, в то время как этот файл в Firefox выдает мне следующую ошибку (строка 8 в jsfiddle)
allocation size overflow
callback(xobj.responseText);
В Chrome я получаю другую ошибку:
Uncaught SyntaxError: Unexpected end of input
(anonymous function) @ index.html:23
xobj.onreadystatechange @ index.html:37
Здесь index.html: 23 ссылается на строку 21 скрипты js (JSON.parse(response)
) и строка 37 относится к строке 8 в jsfiddle (callback(xobj.responseText);
).
я пробовалoboe.js (кстати, очень приятно), но после некоторого ожидания (3 минуты) загрузка останавливается (как показывают инструменты Chrome Dev), и я нажимаю.fail
обратный звонок в гобой.
Итак, возможно ли загрузить такие файлы с помощью XMLHttpRequest? Если нет, то какие есть альтернативы? Мои пользователи используют мое приложение локально и в Интернете. Хотя я не планировал создавать такие большие файлы json, я также не знал, что будет какое-либо ограничение (кроме доступной оперативной памяти и пропускной способности) для загрузки такого файла.
РЕДАКТИРОВАТЬ: Может быть, лучше спросить: - Что ограничивает объем данных, которые могут быть загружены XMLHttpRequest? Это куча браузера? Это объем оперативной памяти на клиенте? Это объект XMLHttpRequest?