Некоторые браузеры отправляют POST и GET-запросы - PullRequest
2 голосов
/ 15 июля 2009

Приложение My Servlet. вызывается дважды каждый раз, когда пользователь отправляет форму: первый раз с запросом POST и сразу после него с запросом GET (оба запроса с одинаковым URI).

Эта проблема, по-видимому, не зависит от сервера приложений (я пробовал с tomcat-6.0 и с смолой 2.1).

Проблема, похоже, связана с браузером: проблема не возникает с клиентами MS Internet Explorer 6.0, 7.0 и 8.0, но возникает с Google Chrome-2.0 и клиентами FireFox-3.0.11.

HTML-код тривиален:

<form method="post" action="MyServlet?formSubmitted">
    <input type="text" name="data">
    <input type="submit" value="OK">
</form>

Может ли кто-нибудь объяснить такое поведение?

Ответы [ 3 ]

4 голосов
/ 17 июля 2009

У меня только что была точно такая же проблема, и это оказалось тегом с пустым параметром src на новой отображаемой странице, это заставило Firefox выполнить get, который выглядит так же, как и исходное сообщение.

0 голосов
/ 16 июля 2009

Если вы убеждены, что это не клиентский JavaScript (и я ценю, что вы нашли время, чтобы упростить тестирование и проверку), то следующее, что я буду искать, - это перенаправление на стороне сервера. 1001 *

Я полагаю, что вы работаете в Windows (это единственное место, где существует Chrome, верно?), Поэтому скачайте инструмент Fiddler (производства MSDN). Он покажет вам все запросы, которые происходят между вашим клиентом и сервером. Если вы видите, что POST получает ответ 302, это указывает на перенаправление на стороне сервера. мониторинг

0 голосов
/ 15 июля 2009

Это выглядит очень похоже на эту ошибку , зарегистрированную в Chrome. Я бы отследил это и нашел бы разрешение.

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