表單的提交方式POST和GET有什麼區別

來源:互聯網
上載者:User
區別

  表單的提交方式POST和GET有什麼區別 ?

  解決思路:

   兩者的區別需要通過提交表單後才看得出來,主要是在資料發送方式和接收方式上。

  具體步驟:

  Post和Get都是表單屬性Method的可選值,Method的預設值為Get,兩者的主要區別在於:

  1.在用戶端,Get方式在通過URL提交資料,提交後在地址欄中的地址如圖1.4.3所示。

圖1.4.3 Get方式提交表單後的地址欄

  而Post提交後地欄不變,如圖1.4.4所示。

圖1.4.4 Post方式提交表單後的地址欄不變

  2.在伺服器端只能用Request.QueryString來擷取Get方式提交來的資料,用Post方式提交的資料只能用Request.Form來擷取:

<%@language="VBScript" Codepage="936"%>
<html>
<head>
<title> 表單提交方式測試</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form method="post" action="<%=Request.ServerVariables("Script_Name")%>">
  提交資料:
  <input name="oStr" type="text">
    <br>
    提交方式:
    <select name="select" >
      <option value="Post" selected>Post</option>
      <option value="Get">Get</option>
    </select>
    <br>
  <input type="submit" name="Submit" value="提交">
</form>
<%
 if Request("Submit")<>"" then
        Response.Write "通過"&Request.ServerVariables("Request_Method")&"方式提交的資料為:"
    if Request.ServerVariables("Request_Method")="GET" then
          Response.Write Request.QueryString("oStr")
    else
          Response.Write Request.Form("oStr")
    end if
end if
%>
</body>
</html>

  注意:雖然兩種提交方式可以統一用Request("oStr")來擷取提交資料,但是這樣對程式效率有影響,不推薦使用。

  特別提示

  通過IIS運行本例代碼(用http://localhost/method.asp這種方式來瀏覽,有關IIS的安裝和配置,請參考第四部分),輸入所提交的資料,選擇Post方式提交,將看到圖1.4.4所示的效果。選擇Get方式提交,效果將如圖1.4.3所示。

  特別說明

  一般來說,盡量避免使用Get方式提交表單,因為有可能會導致安全問題。比如說在登陸表單中用Get方式,使用者輸入的使用者名稱和密碼將在地址欄中暴露無遺。但是在分頁程式中,用Get方式就比用Post好。本例中用到的表單的屬性解釋(ASP部分請參考第四部分):

    Get把參數添加到action屬性指定的地址中,並以錨方式開啟。

    Post通過HTTP post處理髮送資料。



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。