2010-04-01 50 views
7

我想知道帶有AJAX的JSON是否對傳出參數和返回參數可以承載的數據量有限制?JSON限制?

我希望能夠從服務器發送和返回一個包含10,000行的文件作爲字符串。我應該如何完成這項任務?單個參數將能夠交付這個嗎?編輯: 我的客戶端是JavaScript和我的服務器PHP。

謝謝。

回答

1

你應該分手了串入位,並做多個AJAX請求,直到字符串結束。繼續將字符串位附加到文件中,然後在請求完成後將文件內容放入數據庫中。

+0

聽起來像你以前做過這樣的事情,你能推薦每個請求的大小嗎?我的文件長10,000行,每行包含約150個字符。 (我正在使用JavaScript和PHP) – thedp 2010-04-01 18:44:23

+0

對我而言,我始終將它保持在每個請求1mb以下。 – resopollution 2010-04-01 20:04:20

+0

1mb?即使發送帶有1mb參數的請求? – thedp 2010-04-01 21:05:17

3

HTTP POST請求沒有(合理的)大小限制。

但是,如果您發佈的數據超過100MB,則不太可能可靠地工作。

4

Similar question

JSON類似於其他數據格式,如XML - 如果需要傳輸更多的數據,你只要發送更多的數據。整個JSON請求本身沒有固有的大小限制。任何限制都將由解析JSON請求的服務器設置。 (例如,ASP.NET具有串行器的「MaxJsonLength」屬性。)

5

JSON對於它可以傳輸的數據量或其遞歸深度的限制本質上沒有限制。這取決於你的應用服務器。

如果您在C#中使用JSONSerialization,則將數據量限制設置得相當低。您可以通過將下面的代碼片段放在Web.config中來覆蓋它。

 

<system.web.extensions> 
     <scripting> 
      <webServices> 
       <jsonSerialization maxJsonLength="2147483644"></jsonSerialization> 
      </webServices> 
     </scripting> 
    </system.web.extensions> 
 

你可能不希望被髮送通過AJAX大約10萬行,如果你能避免它(它分解成更小的請求或使用分頁)。