2010-04-01 49 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万行,如果你能避免它(它分解成更小的请求或使用分页)。