2011-08-04 154 views
3
<form method="POST" action="/index?key=1"> 
<input type="text" name="another_key" value="2" /> 
</form> 

當我提出這樣的形式,並試圖獲取GET參數與CGI->new->param('key')GET參數丟失?

它不工作..

能CGI工作時都GETPOST參數存在嗎?

+0

我還沒有和CGI的工作,但你爲什麼不帶任何'GET'或'POST'定居。如果您正在執行一些查找操作,請使用GET,如果您要寫入某個數據庫,請使用POST。 – midhunhk

+0

@silverback,他總是在做POST。他只是想在URL中包含一些參數(就像在GET中那樣)。沒有規定說您的POST URL不能有查詢組件。這裏的問題是如何訪問該查詢組件中的參數。 – cjm

回答

5

對於POST請求,CGI的PARAM方法只會POST參數,但將提供URL中的「GET」參數的替代方法url_param。

這可以是文件上傳非常有幫助;如果發佈請求過大,它會完全拋棄,但是URL參數可以告訴你什麼樣的上傳有人這樣你就可以顯示用戶在正確的上下文的錯誤消息。

+0

'url_param'是否也適用於GET請求? – asker

+0

從未嘗試過,文檔沒有說清楚。 – ysth