考虑这种形式:
<form action="http://www.blabla.com?a=1&b=2" method="GET">
<input type="hidden" name="c" value="3" />
</form>
提交此 GET
表单时,参数 a
和 b
正在消失。
这是有原因的吗?
有没有办法避免这种行为?
原文由 [](https://stackoverflow.com/questions/1116019/when-submitting-a-get-form-the-query-string-is-removed-from-the-action-url) 发布,翻译遵循 CC BY-SA 4.0 许可协议
这不是隐藏参数的开始……吗?
我不会指望任何浏览器在操作 URL 中保留任何现有的查询字符串。
作为规范( RFC1866 ,第 46 页; HTML 4.x 第 17.13.3 节)状态:
也许可以对操作 URL 进行百分比编码以嵌入问号和参数,然后祈祷所有浏览器都保留该 URL(并验证服务器也理解它)。但我永远不会依赖它。
顺便说一句:对于非隐藏表单域,它没有什么不同。对于 POST,操作 URL 可以保存查询字符串。