當表單採用 POST 方式提交時,所有表單欄位的值會被封裝在 Request 物件的 Form 集合中。與 QueryString 不同,POST 方式將資料置於 HTTP 請求主體內,不會顯示於網址列,適合傳遞大量或敏感資料。
Request.Form(元素名) [(索引值) | .Count]
name 屬性值。關鍵限制:前端 <form> 標籤 必須設定 Method="Post",否則 Request.Form 將讀不到任何資料。
<html>
<head><title>求職基本資料表</title></head>
<body>
<p align="center">輸入資料的表單
<form Action="4-3a.asp" Method="post">
<table align="center" Border="1">
<tr valign="baseline">
<td>姓名:<input type="text" name="xm" size="8">
<td>性別:男<input type="Radio" name="xb" value="男" checked>
女<input type="Radio" name="xb" value="女">
<td>密碼:<input type="Password" name="mm" size="12">
<tr><td colspan="3">所學專業
<input type="Checkbox" name="ah" value="漢語">漢語
<input type="Checkbox" name="ah" value="日語">日語
<input type="Checkbox" name="ah" value="西班牙語">西班牙語
<input type="Checkbox" name="ah" value="英語">英語
<input type="Checkbox" name="ah" value="德語">德語
<tr><td>特長:<br>
<Select name="xl" style="width:200px" size="4">
<option value="社交">社交
<option value="計算機">計算機
<option value="體育運動">體育運動
<option value="文藝愛好" Selected>文藝愛好
<option value="善於管理">善於管理
</Select>
<td colspan="2">生活格言:<br>
<textarea name="adage" cols="40" rows="4"></textarea>
</table>
<p align="center"><input type="Submit" value="提交">
<input type="Reset" value="重寫">
</form>
</body>
</html>
<html>
<head><title>Form 集合示範</title></head>
<body>
<center>
Request 物件的 Form 集合範例<p>
<hr size="2" width="80%" color="#cc9999">
<p><font color="red"><h2>歡迎登錄本站點</h2></font><p>
下面是您所填寫的基本信息,請確定是否正確。<p>
<%
Response.Write "您的姓名是:" & Request.Form("xm") & "<p>"
Response.Write "您的性別是:" & Request.Form("xb") & "<p>"
Response.Write "您的密碼是:" & Request.Form("mm") & "<p>"
Response.Write "您所學專業是:" & Request.Form("ah") & "<p>"
Response.Write "您的特長是:" & Request.Form("xl") & "<p>"
Response.Write "您的格言是:"
Response.Write Request.Form("adage") & "<p>"
%>
這些信息對嗎?
<a href="4-3a.htm">如不對,返回</a> **||** <a href="4-3-2.asp">請點這裡返回到教材</a></p>
</center>
</body>
</html>
| 特性 | Request.Form (POST) | Request.QueryString (GET) |
|---|---|---|
| 資料位置 | HTTP 請求主體 | URL 查詢字串 |
| 可見性 | 網址列不顯示 | 網址列明文可見 |
| 資料量限制 | 較大(預設約 100KB,可調整) | 受限於 URL 長度(~2KB) |
| 適用場景 | 登入、註冊、上傳、機密資料 | 搜尋、分頁、書籤分享 |
| 書籤/重整 | 重整會重送資料(瀏覽器會提示) | 可直接書籤、重整無副作用 |
Request.Form 為空。name="username",後端寫 Request.Form("user") 會取不到值。Request.Form("ah") 僅取第一值,需配合 .Count 迴圈讀取所有勾選項。Request.Form 後不可再呼叫 Request.BinaryRead,反之亦然。熟練運用 Form 集合,是建構安全、穩健 ASP 表單處理邏輯的核心基礎。