我想知道带有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