在Form里面,可以使用post也可以使用get。它們都是method的合法取值。但是,post和get方法在使用上至少有兩點不同: 1、Get方法通過URL請求來傳遞用戶的輸入。Post方法通過另外的形式。 2、Get方式的提交你需要用Request.QueryString來取得變量的值,而Post方式提交時,你必須通過Request.Form來訪問提交的內容。
仔細研究下面的代碼。你可以運行之來感受一下:
代碼 <!--兩個Form只有Method屬性不同--> <FORM ACTION=“getpost.asp” METHOD=“get”> <INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT> <INPUT TYPE=“submit” VALUE=“Method=Get”></INPUT> </FORM> <BR> <FORM ACTION=“getpost.asp” METHOD=“post”> <INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT> <INPUT TYPE=“submit” VALUE=“Method=Post”></INPUT> </FORM>
<BR> <BR>
<% If Request.QueryString(“Text”) <> ““ Then %> 通過get方法傳遞來的字符串是: “<B><%= Request.QueryString(“Text”) %></B>“<BR> <% End If %>
<% If Request.Form(“Text”) <> ““ Then %> 通過Post方法傳遞來的字符串是: “<B><%= Request.Form(“Text”) %></B>“<BR> <% End If %>
說明 把上面的代碼保存為getpost.asp,然后運行,首先測試post方法,這時候,瀏覽器的url并沒有什么變化,返回的結果是: 通過Post方法傳遞來的字符串是: "Hello World" 然后測試用get方法提交,請注意,瀏覽器的url變成了: http://localhost/general/form/getpost.asp?Text=Hello+World 而返回的結果是: 通過get方法傳遞來的字符串是: "Hello World" 最后再通過post方法提交,瀏覽器的url還是: http://localhost/general/form/getpost.asp?Text=Hello+World 而返回的結果變成: 通過get方法傳遞來的字符串是: "Hello World" 通過Post方法傳遞來的字符串是: "Hello World"
提示 通過get方法提交數據,可能會帶來安全性的問題。比如一個登陸頁面。當通過get方法提交數據時,用戶名和密碼將出現在URL上。如果: 1、 登陸頁面可以被瀏覽器緩存; 2、 其他人可以訪問客戶的這臺機器。 那么,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。 建議 在Form中,建議使用post方法。
|