当前位置:  开发笔记 > 编程语言 > 正文

使用GET或POST搜索表单

如何解决《使用GET或POST搜索表单》经验,为你挑选了1个好方法。

我有几个搜索表单,1个有~50个字段,另一个有~100个.通常,正如HTML规范所说,我使用GET方法进行搜索,因为没有数据被更改.我还没有碰到这个问题,但我想知道我是否会很快耗尽URL空间?

Internet Explorer的限制为2083个字符.其他浏览器,有更高的限制.我正在运行Apache,所以限制大约有4000个字符,IIS是16384个字符.

在100个字段中,假设平均字段名称长度为10个字符,那已经是5000个字符...在100字段表单上令人惊讶,我还没有任何错误.(25%的字段是多个选择,因此字段长度要长得多.)

所以,我想知道我的选择是什么.(缩短表格不是一种选择.)在这里我的想法:

使用POST.我不喜欢这个,因为目前用户可以为他们的搜索添加书签并在以后再次执行 - 这是一个非常好的功能.

让JavaScript循环遍历表单以确定哪些字段与默认字段不同,填充另一个表单并提交该表单.用户当然会将缩短版本加入书签.

还有其他想法吗?

另外,有人知道长度是编码长度还是纯文本?

我正在开发PHP,但它可能没有什么区别.

编辑:我无法删除任何字段; 我无法缩短表格.这是客户要求的,他们经常使用不同类别的一系列字段.我知道很难想到一个在这么多领域看起来不错的表单,但是用户在理解它的工作原理时没有问题.



1> Jeremy Ruten..:

您的用户实际上是否会使用所有50-100个字段进行搜索?如果他们只使用少数,为什么不将搜索发布到"中间"页面哪个header() - 将它们重定向到结果页面,只有URL中的用户更改字段?然后,结果页面将使用URL中不存在的字段的默认值.


如果选择此方法,请确保从POST返回“ 303 See Other”响应,以使浏览器使用GET获取重定向的请求。否则,它可能会尝试对重定向的URL进行POST。
推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有