有些浏览器发送POST后跟GET请求

时间:2009-07-15 11:41:35

标签: post browser get

我的Servlet应用。每次用户提交表单时都会被调用两次:第一次发出POST请求,然后立即发出GET请求(两个请求具有相同的URI)。

此问题似乎与应用服务器无关(我尝试使用tomcat-6.0和resin.2.1)。

问题似乎与浏览器有关:MS Internet Explorer 6.0,7.0和8.0客户端不会出现此问题,但谷歌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 个答案:

答案 0 :(得分:4)

我刚刚遇到了完全相同的问题,结果是在新页面中呈现了一个带有空src参数的标记,这导致Firefox看起来与原始帖子看起来相同。

答案 1 :(得分:0)

这与针对Chrome注册的this bug非常相似。我会跟踪这个并找到解决方案。

答案 2 :(得分:0)

如果您确信它不是客户端JavaScript(我感谢您花时间简化测试和验证),那么接下来我要寻找的是服务器端重定向。< / p>

我相信你在Windows上运行(这是Chrome存在的唯一地方,对吧?),所以请下载Fiddler工具(由MSDN制作)。它将显示客户端和服务器之间发生的所有请求。如果您看到POST获得302响应,则表示服务器端重定向。 监测