在网页中创建搜索表单时,我通常使用GET方法。这允许结果为URI Addressable。它还以标准方式简化了结果的分页。
但是,有大量选项和相当长的字段名称的表单怎么样?使用GET请求意味着结果页面的URL实际上可以破解practical URL length limit of 2KB。
如果我改用POST,我会超过URL长度限制。但后来我失去了URI的可寻址性。此外,所有分页链接都需要重新实现为小的子表单,所有搜索参数数据都存储在隐藏字段中;使这些操作作为链接将需要类似onclick处理程序,这使它们只有在启用客户端脚本时才可用。
那么,长搜索表单的建议是什么:
我唯一想到的就是坚持使用GET,但减少了字段名称的长度,这样我们就不太可能破坏URL限制。
Whaddya认为?非常感谢提前。
答案 0 :(得分:0)
你需要做的是使用post方法 - 如果你的URL超出限制你就无法解决这个问题(虽然你可以通过缩写名称和值来延迟不可避免的事情)。
获取帖子然后将客户端重定向到get,为了保持可寻址的可用性,您可以将搜索服务器端存储在密钥上并在get上检索它(例如从内存或数据库中),或者您可以编码键入单个查询字符串键或少量键捕获行为。得到的回复将是可收藏的等等。
分页很简单 - 只需查看表单集合中是否存在导航按钮并做出相应的响应。