如何在没有 javascript 的情况下隐藏 URL 中的参数?

How to hide parameters in URL without javascript?

我的表格是这样的:

<form method="GET" action="target">
   <input type="text" name="filter"/>
   <select name="skill">
      <option>opt1</option>
      <option>opt2</option>
      <option>opt3</option>
   </select>
   <input type="number" name="level"/>
   <input type="submit"/>
</form>

我希望在提交表单时 URL 中 不显示 空参数,这发生在 skill 字段,但不包含 levelfilter,即使它们为空,也会添加到查询字符串中。
它是如何发生的?是否可以在不使用 javascript 的情况下防止这种情况发生?

None 个字段是提交表单所必需的。

如果没有 javascript,这是不可能的。

您可以使用 jQuery 之类的东西来 accomplish 这个。

注意:使用表单方法POST是提交表单的首选方式,参数作为http请求体提交,不在URL.

如果您使用表单 POST 而不是 GET,表单参数将不会出现在查询字符串中。但这需要后端更改。