搜索结果的分页技术来自大型表格

时间:2010-07-09 13:23:43

标签: http forms post get methods

在网页中创建搜索表单时,我通常使用GET方法。这允许结果为URI Addressable。它还以标准方式简化了结果的分页。

但是,有大量选项和相当长的字段名称的表单怎么样?使用GET请求意味着结果页面的URL实际上可以破解practical URL length limit of 2KB

如果我改用POST,我会超过URL长度限制。但后来我失去了URI的可寻址性。此外,所有分页链接都需要重新实现为小的子表单,所有搜索参数数据都存储在隐藏字段中;使这些操作作为链接将需要类似onclick处理程序,这使它们只有在启用客户端脚本时才可用。

那么,长搜索表单的建议是什么:

  • 维护URI可寻址性
  • 允许合理的分页链接
  • 不要破坏实际的URL 2KB长度限制

我唯一想到的就是坚持使用GET,但减少了字段名称的长度,这样我们就不太可能破坏URL限制。

Whaddya认为?非常感谢提前。

1 个答案:

答案 0 :(得分:0)

你需要做的是使用post方法 - 如果你的URL超出限制你就无法解决这个问题(虽然你可以通过缩写名称和值来延迟不可避免的事情)。

获取帖子然后将客户端重定向到get,为了保持可寻址的可用性,您可以将搜索服务器端存储在密钥上并在get上检索它(例如从内存或数据库中),或者您可以编码键入单个查询字符串键或少量键捕获行为。得到的回复将是可收藏的等等。

分页很简单 - 只需查看表单集合中是否存在导航按钮并做出相应的响应。