2010-06-04 99 views
3

通过GET请求发送大型数据集的最佳方式是什么?发送大型参数化数据集作为GET请求

  • 由于某些设计限制,我无法使用POST。
  • 我可以使用jQuery或任何其他库,sizzle是可取的。
  • 我有一个复杂的数据集嵌套在里面,json很适合这个账单。

感谢您的帮助。

+0

您可以指定你的“的意思代表概述大”? – 2010-06-04 19:22:25

+0

使POST无法使用的设计限制是什么?它的限制是**多**更高。 – BalusC 2010-06-04 20:04:01

回答

7

由于浏览器和服务器的限制,GET请求的大小不应超过1-4千字节。你将不得不将你的请求分成几块来做到这一点。

如果数据来自表单,例如可以使用jQuery的.serialize()函数将数据放入一个字符串中。然后将字符串拆分为千字节大小的块并使用Ajax将其发送出去。您必须有一个将块组合在一起的服务器端脚本,可能使用Ajax请求中指定的唯一标识符。

的长度限制一些来源:

+2

[RFC2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1)提到了255个字节作为安全上限。不过这是旧规格。现在我认为2K是安全的,但我不确定移动客户端。通过这种方式的限制不仅适用于查询结果部分,而且适用于整个URI。 – BalusC 2010-06-04 20:00:02