提交 GET 表单时,查询字符串会从操作 URL 中删除

新手上路,请多包涵
阅读 281
1 个回答

这不是隐藏参数的开始……吗?

 <form action="http://www.example.com" method="GET">
  <input type="hidden" name="a" value="1" />
  <input type="hidden" name="b" value="2" />
  <input type="hidden" name="c" value="3" />
  <input type="submit" />
</form>

我不会指望任何浏览器在操作 URL 中保留任何现有的查询字符串。

作为规范( RFC1866 ,第 46 页; HTML 4.x 第 17.13.3 节)状态:

如果方法是“get”并且动作是一个 HTTP URI,用户代理采用动作的值,附加一个“?”然后附加表单数据集,使用“application/x-www-form-urlencoded”内容类型进行编码。

也许可以对操作 URL 进行百分比编码以嵌入问号和参数,然后祈祷所有浏览器都保留该 URL(并验证服务器也理解它)。但我永远不会依赖它。

顺便说一句:对于非隐藏表单域,它没有什么不同。对于 POST,操作 URL 可以保存查询字符串。

原文由 Arjan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题