【问题标题】:How do I prevent empty GET variables from displaying in the URL如何防止空的 GET 变量显示在 URL 中
【发布时间】:2009-10-13 17:40:25
【问题描述】:

我在这里遇到了一些奇怪的情况。我有一个使用 GET 方法提交搜索功能的表单。在搜索后的后续页面上,所有变量都会显示在 URL 中,即使它们是空的。例如,如果我搜索等于“你好”的电影标题,我会得到:

/GetResults?title=hello&year=&director=&firstname=&lastname=

这是正常的还是我做错了什么?这是我使用的表格:

<form action="/FabFlix/servlet/GetResults" id="search-form" method="get" accept-charset="utf-8">
<p>Movie Title:</p><input type="text" name="title"/>
<br/>
<p>Year:</p><input type="text" name="year"/>
<br/>
<p>Director:</p><input type="text" name="director"/>
<br/>
<p>Star's First Name:</p><input type="text" name="firstname"/>
<br/>
<p>Star's Last Name:</p><input type="text" name="lastname"/>
<br/>
<br/>
<input type="submit"/>
</form>

【问题讨论】:

    标签: html jsp servlets get form-submit


    【解决方案1】:

    这是正常的。为了防止这种行为,请考虑在您的表单上使用 onsubmit 处理程序,该处理程序手动组合 URL 并重定向。如果您这样做,请不要忘记使用启用和禁用的 javascript 进行测试,以确保两种方案仍然可以正常工作。

    【讨论】:

    • 感谢您的回答。我以前从未注意到这种行为,但我会考虑 Javascript 解决方案
    【解决方案2】:

    我相信这是 GET 的正常操作。您必须使用 GET 而不是 POST 吗?

    似乎一个相对简单的改变是使用 POST 方法而不是 GET。

    【讨论】:

    • GET 是应用程序的要求,所以我不能这样做。
    猜你喜欢
    • 1970-01-01
    • 2014-02-11
    • 2011-12-27
    • 2010-11-12
    • 2013-05-09
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多