我的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>
有人可以解释这种行为吗?
答案 0 :(得分:4)
我刚刚遇到了完全相同的问题,结果是在新页面中呈现了一个带有空src参数的标记,这导致Firefox看起来与原始帖子看起来相同。
答案 1 :(得分:0)
这与针对Chrome注册的this bug非常相似。我会跟踪这个并找到解决方案。
答案 2 :(得分:0)
如果您确信它不是客户端JavaScript(我感谢您花时间简化测试和验证),那么接下来我要寻找的是服务器端重定向。< / p>
我相信你在Windows上运行(这是Chrome存在的唯一地方,对吧?),所以请下载Fiddler工具(由MSDN制作)。它将显示客户端和服务器之间发生的所有请求。如果您看到POST获得302响应,则表示服务器端重定向。 监测