2012-11-04 54 views
1

我有一个a.shtml页面和一个表单。当我使用POST提交表单时,我调用a.cgi并使用META从cgi重定向页面b.shtml。但是我在access.log上看到a.cgi执行两次。它会导致一些问题。为什么它被调用两次,第二次是GET,我如何避免这种情况?它仅在Chrome上发生。 IE,Firefox是OKPOST请求后的未知GET请求

我的表格:

<form method="post" action="cgi-bin/a.cgi"> ....</form> 

元的CGI内:

printf("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"3;url='/b.shtml'\ "/>"); 

访问日志:

..POST /cgi-bin/a.cgi HTTP/1.1|Host: xxx.xxx.xxx.xxx|Connection: keep-alive|Content-Length: 42|Cache-Control: max-age=0|Origin: ..... 
..GET /cgi-bin/a.cgi HTTP/1.1|Host: xxx.xxx.xxx.xxx|Connection: keep-alive|User-Agent: Mozilla/5.0 (Windows NT 

回答

1

听起来好像要触发重新提交使用html元素刷新元素的HTTP POST。

我不知道这是可能的还是可靠的。希望这些条款至少可以帮助您进行Google搜索。

您可能希望使用会话进行研究。

EDIT2:

我发现这太问题: “POST-requesting a location sending Refresh header makes Firefox create GET request but still hold POST data

+0

谢谢您的答复。除了链接将我重定向到关于元和刷新用法的真实信息之外,我发现HTML验证器添加会导致此问题。我刚刚安装了这个附加组件,并且在我禁用之后,问题已解决。 – brknl