Как предотвратить отображение пустых переменных GET в URL - PullRequest
1 голос
/ 13 октября 2009

У меня здесь немного странная ситуация. У меня есть форма, которая представляет с помощью метода GET для функции поиска. На следующей странице после поиска все переменные отображаются в URL, даже если они пусты. Например, если я сделаю поиск по названию фильма, равному «привет», я получу это:

/ GetResults? Название = привет & год = & = & директор Firstname = & = * Lastname 1004 *

Это нормально или я что-то не так делаю? Вот форма, которую я использую:

<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>

Ответы [ 2 ]

4 голосов
/ 13 октября 2009

Это нормально. Чтобы предотвратить такое поведение, рассмотрите обработчик onsubmit в своей форме, который собирает URL-адрес вручную и перенаправляет. Если вы сделаете это, не забудьте проверить это с включенным и отключенным javascript, чтобы убедиться, что оба сценария по-прежнему работают нормально.

0 голосов
/ 13 октября 2009

Я считаю, что это нормальная операция для GET. Вы должны использовать GET вместо POST?

Похоже, что относительно простым изменением для получения переменных, которые не отображаются в URL, является использование метода POST вместо GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...