2012-11-04 220 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