2013-06-27 55 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

您需要設置一個緩衝區。但是,爲什麼你會傳遞如此多的數據?這對任何用戶來說都是非常不合理的等待。

編輯

緩衝是不是真的東西,你可以從阿賈克斯做(根據How to buffering an Ajax Request?)。但是,你可以在服務器端設置一些東西(如果它是你的服務器返回的數據),將它們分開發送,然後使用ajax來請求每一塊。

如果它不是你的服務器,或者你從API或其他東西請求,然後看看他們是否接受任何參數來定義返回對象的大小 - 這樣你可以以塊的形式請求它。

+2

這是我爲一小羣用戶建立的東西,不介意等待這些數據。數據全部進入d3可視化。你能給我一些關於如何設置這個緩衝區的細節嗎?謝謝。 – abw333