我想知道帶有AJAX的JSON是否對傳出參數和返回參數可以承載的數據量有限制?JSON限制?
我希望能夠從服務器發送和返回一個包含10,000行的文件作爲字符串。我應該如何完成這項任務?單個參數將能夠交付這個嗎?編輯: 我的客戶端是JavaScript和我的服務器PHP。
謝謝。
我想知道帶有AJAX的JSON是否對傳出參數和返回參數可以承載的數據量有限制?JSON限制?
我希望能夠從服務器發送和返回一個包含10,000行的文件作爲字符串。我應該如何完成這項任務?單個參數將能夠交付這個嗎?編輯: 我的客戶端是JavaScript和我的服務器PHP。
謝謝。
你應該分手了串入位,並做多個AJAX請求,直到字符串結束。繼續將字符串位附加到文件中,然後在請求完成後將文件內容放入數據庫中。
HTTP POST請求沒有(合理的)大小限制。
但是,如果您發佈的數據超過100MB,則不太可能可靠地工作。
JSON類似於其他數據格式,如XML - 如果需要傳輸更多的數據,你只要發送更多的數據。整個JSON請求本身沒有固有的大小限制。任何限制都將由解析JSON請求的服務器設置。 (例如,ASP.NET具有串行器的「MaxJsonLength」屬性。)
JSON對於它可以傳輸的數據量或其遞歸深度的限制本質上沒有限制。這取決於你的應用服務器。
如果您在C#中使用JSONSerialization,則將數據量限制設置得相當低。您可以通過將下面的代碼片段放在Web.config中來覆蓋它。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
你可能不希望被髮送通過AJAX大約10萬行,如果你能避免它(它分解成更小的請求或使用分頁)。
我認爲Json最大的弱點是語義。
否則如果您使用HttpPost沒有限制。但是,當然要獲得更好的用戶體驗,請保持簡單,少用。
更多:http://blogs.oracle.com/bblfish/entry/the_limitations_of_json
聽起來像你以前做過這樣的事情,你能推薦每個請求的大小嗎?我的文件長10,000行,每行包含約150個字符。 (我正在使用JavaScript和PHP) – thedp 2010-04-01 18:44:23
對我而言,我始終將它保持在每個請求1mb以下。 – resopollution 2010-04-01 20:04:20
1mb?即使發送帶有1mb參數的請求? – thedp 2010-04-01 21:05:17