2011-05-28 20 views
2
<FORM METHOD=GET ACTION="../cgi-bin/mycgi.pl"> 
<INPUT NAME="town"><BR> 
<INPUT TYPE=SUBMIT> 
</FORM> 

將重定向我們 ../cgi-bin/mycgi.pl?town=example形式得到任何參數名

,但我想重定向到 ../cgi-bin/mycgi。 pl?example

這意味着,刪除URI中的參數名稱?

我嘗試谷歌,但沒有發現這樣的事情。

在此先感謝。

+0

這不起作用。參見[RFC1866,章節8.2.4。](http://www.faqs.org/rfcs/rfc1866.html)。 – 2011-05-28 12:07:37

回答

3

不,您不能刪除標準GET請求中的參數名稱。 它是一種常見的方式,如何提出http請求。所有參數都必須有一個名稱,因此它將是每個輸入的一對(名稱=值)。

您試圖實現的功能可能會對所提交表單的JavaScript處理產生影響。這將採用名爲城鎮的輸入並將用戶重定向到這樣的URL。

喜歡的東西:

<script type="text/javascript"> 
var elem = document.getElementById("town"); 
window.location = "path_to_script/mycgi.pl?"+elem.value 
</script> 

但在HTML中,你必須指定你的城市如下

<input type="text" name="town" id="town" /> 
+0

+ oned製作海報相信的處理形式中的HTTP重定向過這種可怕的脆弱和不安全的方式是真正有用的。 – stefgosselin 2011-05-28 12:50:12

+0

我期待在這裏進行一些討論,而不是在第一次看到它時將它標記爲已解決。 :)當然這種方法是非常不足的,不應該使用,除非絕對必要。但是......它的工作。 – koressak 2011-05-28 17:15:52

1

GET將始終與查詢字符串開始爲發佈變量變量=值&變量2 =?值2"

你可以做的是移除ACTION標籤具有形式帖子本身,使用method = post。然後解析$ _REQUEST [‘POST’ ]並構建你需要的url,並重定向到構建的url。