2013-06-27 3 views
0

Я загружая большой (~ 300 MB) файл в формате JSON, используя следующий код:загрузка большого объекта JSON в Firefox 17.0.5

$.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: выделение переполнения размера". Есть ли способ обойти это, что не связано с уменьшением размера файла?

ответ

1

Вам необходимо настроить буфер. Однако, почему вы передаете столько данных? Это было бы крайне необоснованным ожиданием для любого пользователя.

EDIT

Буферизация на самом деле не то, что вы можете сделать с АЯКС стороны (по How to buffering an Ajax Request?). Однако вы можете установить что-то на стороне сервера (если это ваш сервер, возвращающий данные), чтобы отправить его на куски, а затем использовать ajax для запроса каждой части.

Если это не ваш сервер или ваш запрос от API или что-то в этом роде, посмотрите и посмотрите, принимают ли они какие-либо параметры для определения размера возвращаемого объекта - таким образом вы можете запросить его в кусках.

+2

Это то, что я создаю для небольшой группы пользователей, которая не против немного ждать этих данных. Все данные попадают в визуализацию d3. Не могли бы вы дать мне более подробную информацию о том, как настроить этот буфер? Благодарю. – abw333