代码之家  ›  专栏  ›  技术社区  ›  Lasse V. Karlsen

关于使用查询参数的http form get方法的问题

  •  0
  • Lasse V. Karlsen  · 技术社区  · 15 年前

    我在webvn中看到一个bug,当我进入一个文件日志并单击compare时,它会将存储库名称作为请求的一部分丢失。细节不重要。

    不过,我已经将这个bug追踪到一个http表单,如下所示:

    <form method="get" action="comp.php?repname=Binaries&amp;" id="compare">
      ....
      <input type="hidden" name="KEY" value="VALUE">
    

    这应该管用吗?将同时发送作为url一部分指定的“repname”参数和隐藏值吗?chrome 4.1似乎只发送隐藏参数,并完全删除repname参数。这是对的吗?

    我临时修复了它,等待更多信息,为repname添加了另一个具有相同值的隐藏字段,现在一切都正常了,我只是想知道chrome或websvn是否有问题。

    1 回复  |  直到 15 年前
        1
  •  1
  •   chris    15 年前

    您应该从操作值的末尾删除&这可能会给您带来麻烦。如果需要传递与号,则应将其url编码为%26

    编辑:您绝对应该按照您修复它的方式来做—将repname作为另一个隐藏变量传递—因为在get中处理显式和隐式url变量时,某些浏览器确实会有奇怪的行为:)