我想知道带有AJAX的JSON是否对传出和返回参数可以携带的数据量有限制?
我希望能够从服务器发送一个包含10,000行的文件作为字符串。我该如何完成这项任务?一个参数能够提供这个吗?
编辑: 我的客户端是JavaScript和我的服务器PHP。
谢谢。
答案 0 :(得分:5)
JSON本身并不限制它可以传输的数据量或对其递归深度的限制。这取决于您的应用程序服务器。
如果您在C#中使用JSONSerialization,则数据量限制设置得非常低。您可以通过将以下代码段放在Web.config中来覆盖它。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="2147483644"></jsonSerialization>
</webServices>
</scripting>
</system.web.extensions>
你可能不希望通过AJAX发送大约10 000行,如果你可以避免它(将其分解为较小的请求或使用分页)。
答案 1 :(得分:4)
JSON类似于XML等其他数据格式 - 如果您需要传输更多数据,则只需发送更多数据。整个JSON请求本身没有固有的大小限制。解析JSON请求的服务器将设置任何限制。 (例如,ASP.NET具有序列化程序的“MaxJsonLength”属性。)
答案 2 :(得分:3)
HTTP POST请求没有(合理的)大小限制。
但是,如果您发布的数据超过100MB,则不太可能正常运行。
答案 3 :(得分:1)
我认为Json最大的弱点是语义。
否则,如果您使用HttpPost,则没有任何限制。但当然为了更好的用户体验,请保持简单而少。
更多:http://blogs.oracle.com/bblfish/entry/the_limitations_of_json
答案 4 :(得分:1)
你应该将字符串分成多个位并执行多个ajax请求,直到字符串完成。继续将字符串位暂时附加到文件中,然后在请求完成后将文件内容放入数据库中。